Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 5

19.

设机器数字长为 8 位(含 1 位符号位),用补码运算规则计算下列各题。

(3)A=-3/16,B=9/32,求 A+B。

(4)A=-87,B=53,求 A-B。

(3)A= -3/16= -0.001 1000B, B=9/32= 0.010 0100B

[A]补=1.110 1000, [B]补= 0.010 0100

[A+B]补= 1.1101000 + 0.0100100 = 0.0001100 —— 无溢出

A+B= 0.000 1100B = 3/32

(4) A= -87= -101 0111B, B=53=110 101B

[A]补=1 010 1001, [B]补=0 011 0101, [-B]补=1 100 1011

[A-B]补= 1 0101001 + 1 1001011 = 0 1110100 —— 溢出


6.20. 用原码一位乘和补码一位乘(Booth 算法) 、两位乘计算 x·y。
(2)x= -0.010111,y= -0.010101;
原码一位乘:
x=1.010111,y=1.010101
部分积 乘数
0.000000
+0.010111 010101
0.010111
0.001011 101010
+0.000000
0.001011
0.000101 110101
+0.010111
0.011100
0.001110 011010
+0.000000
0.001110
0.000111 001101
+0.010111
0.011110
0.001111 000110
+0.000000
0.001111
0.000111 100011
【x×y】原=0.000111100011
补码一位乘:
[x]补=1.101001 [-x]补=0.010111 [y]补=1.101011
部分积 乘数 Yn 附加位 Yn+1 说明
00.000000 1101011 0 部分积加[-x]补,再右移一位
+00.010111
00.010111
00.001011 1110101 1 部分积右移一位
00.000101 1111010 1 部分积加[x]补,再右移一位
+11.101001
11.101110
11.110111 0111101 0 部分积加[-x]补,再右移一位
+00.010111
00.101110
00.010111 0011110 1 部分积加[x]补,再右移一位
+11.101001
00.000000
00.000000 0001111 0 部分积加[-x]补,再右移一位
+00.010111
00.010111
00.001011 1000111 1 部分积右移一位
00.000111 1000110 最后一步不移位
[x×y]补=0.0001111000110
补码两位乘:
[x]补=1.101001 [-x]补=0.010111 [y]补=1.101011
部分积 乘数 说明
000.000000 11.1010110 判断位为 110,加[-x]补
+000.010111
000.010111
000.000101 1111.10101 判断位为 101,加[-x]补
+000.010111
000.011100
000.000111 001111.101 判断位为 101,加[-x]补
+000.010111
000.011110
000.000111 10001100 判断位为 101,判断位清零
[x×y]补=0.00011110001100
6.21

You might also like