курсовик 9
.doc9. Умножение чисел с фиксированной запятой
1) Прямой код
а) A=-0,10101 B=0,01101
[A]пр=1,10101 [B]пр=0,01101
SgC=1
CM |
РгВ |
Примечания |
0000000000 10101 1010100000 0101010000 0010101000 10101 1101001000 0110100100 10101 10001000100 1000100010 0100010001 |
01101
0110 011
01
0 |
[CM]=0; [РгА]=[A] пр;[РгB]=[B] пр в5=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в4=0; [РгB]; [CM] в3=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в2=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в1=0; [РгB]; [CM] |
[C]пр=1,0100010001
Ответ: С=-0,0100010001
б) A=-0,01011 B=-0,11101
[A]пр=1,01011 [B]пр=1,11101
SgC=0
CM |
РгВ |
Примечания |
0000000000 01011 0101100000 0010110000 0001011000 01011 0110111000 0011011100 01011 1000111100 0100011110 01011 1001111110 0100111111 |
11101
1110 111
11
1
|
[CM]=0; [РгА]=[A] пр;[РгB]=[B] пр в5=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в4=0; [РгB]; [CM] в3=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в2=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в1=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] |
[C]пр=1,0100010001
Ответ: С=-0,0100010001
2) Дополнительный код
a) A=0,10111 [A]дм=00,10111
B=-0,11001 [B]дм=11,00111
B<0 B’=00111
CM |
РгВ |
Примечания |
00,00000 00,10111 00,10111 00,01011 00,10111 01,00010 00,10001 00,10111 01,01000 00,10100 00,01010
00,00101 |
00111
10011
01001
00100 00010
00001 |
[CM]=0; [РгА]=[A]дм;[РгB]=[B]’ в5=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в4=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в3=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в2=0; [РгB]; [CM]
в1=0; [РгB]; [CM] |
Коррекция: [РгА]=11,01001
+
11,01001
11,01110
[С]дм=11,0111000001
Ответ: -0,1000111111
б) A=-0,10001 [A]дм=00,10111
B= 0,11010 [B]дм=11,00111
B>0 B’=00111
CM |
РгВ |
Примечания |
00,00000 00,00000 11,01111 11,01111 11,10111 11,11011 11,01111 11,01010 11,10101 11,01111 11,00100 11,10010 |
11010 01101
10110 11011
01101
00110 |
[CM]=0; [РгА]=[A]дм;[РгB]=[B]’ в5=0; [РгB]; [CM] в4=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в3=0; [РгB]; [CM] в2=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в1=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] |
[С]дм=11,1001000110
Ответ: -0,0110111010
3) Обратный код
а)А=0,01011 [A]обм=00,01011
B=0,11100 [В]обм=00,11100
B>0
CM |
РгВ |
Примечания |
11,11111 11,11111
11,11111 00,01011 00,01010 1 00,01011 00,00101 00,01011 00,10000 00,01000 00,01011 00,10011 00,01001 |
11100 11111
11111
11111
01111
10111 |
[CM]=0; [РгА]=[A]обм;[РгB]=[B]’об в5=0; [РгB]; [CM]
в4=0; [РгB]; [CM] в3=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в2=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в1=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] |
[С]обм=00,01001
Ответ: С=0,01001
б)А=0,01101 [A]обм=00,01101
B=-0,11001 [В]обм=11,00110
B<0
CM |
РгВ |
Примечания |
00,00000 00,01101 00,01101 00,00110 00,01101 00,10011 00,01001 00,01101 00,10110 00,01011 00,00101 00,00010 11,10010 11,10100 |
00110
10011
11001
01100 10110 11011 |
[CM]=0; [РгА]=[A]обм;[РгB]=[B]’об Коррекция 1: [CM]= [CM]+ [РгА]
в5=0; [РгB]; [CM] в4=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в3=1; [CM]= [CM]+ [РгА]
[РгB]; [CM] в2=0; [РгB]; [CM] в1=0; [РгB]; [CM] Коррекция 2: [CM]= [CM]+ [РгА] |
[С]обм=11,10100
Ответ: С=-0,01011