X=-0011 Y=0101 算X·Y的补码用那个什么…x补 -x补 y补那份yn+1那种加一次数右移的那种方法!谢谢!

来源:学生作业帮助网 编辑:作业帮 时间:2024/05/02 22:55:37
X=-0011 Y=0101 算X·Y的补码用那个什么…x补 -x补 y补那份yn+1那种加一次数右移的那种方法!谢谢!

X=-0011 Y=0101 算X·Y的补码用那个什么…x补 -x补 y补那份yn+1那种加一次数右移的那种方法!谢谢!
X=-0011 Y=0101 算X·Y的补码
用那个什么…x补 -x补 y补那份yn+1那种加一次数右移的那种方法!谢谢!

X=-0011 Y=0101 算X·Y的补码用那个什么…x补 -x补 y补那份yn+1那种加一次数右移的那种方法!谢谢!
用Booth算法(补码乘法)
初始值:
R0 = 0000
R1 = [X]补 = 1101,R1最低位用“R1.”表示,
R2 = [Y]补= 0101,-R2 = [-Y]补 = 1011,
辅助位 P = 0
R0,R1,P
--------------
 0000 1101 0 初始值
--------------
第一次循环,R1.P=10,
R0=R0-R2=0000+1011=1011:
 1011 1101 0
R0、R1 右移1位得:
1101 1110 1
--------------
第二次循环,R1.P=01
R0=R0+R2=1101+0101=0010:
0010 1110 1
R0、R1 右移1位得:
0001 0111 0
--------------
  第三次循环,R1.P=10
R0=R0-R2=0001+1011=1100:
1100 0111 0
R1.R1 右移1位得:
1110 0011 1
--------------
  第四次循环,R1.P=11
无操作
1110 0011 1
 R0、R1 右移1位得:
1111 0001 1
--------------
[Y.X]补 = 1111 0001
[Y.X]反 = 1111 0000
[Y.X]原 = 1000 1111
X.Y=Y.X = -000 1111B = -15D