当前位置:首页 > 计算机组成原理课后答案(唐朔飞第二版)
部分积 乘数y*
0,0 0 0 0 0 0 1 0 0 0 1 1 —— +x* + 0,0 1 0 0 1 1 0,0 1 0 0 1 1
?1 0,0 0 1 0 0 1 1 1 0 0 0 1 —— +x* + 0,0 1 0 0 1 1 0,0 1 1 1 0 0
?1 0,0 0 1 1 1 0 0 1 1 0 0 0 —— +0 ?1 0,0 0 0 1 1 1 0 0 1 1 0 0 —— +0 ?1 0,0 0 0 0 1 1 1 0 0 1 1 0 —— +0 ?1 0,0 0 0 0 0 1 1 1 0 0 1 1 —— +x* + 0,0 1 0 0 1 1 0,0 1 0 1 0 0
?1 0,0 0 1 0 1 0 0 1 1 0 0 1 原码两位乘:
部分积 乘数y* Cj 0 0 0,0 0 0 0 0 0 0 0,1 0 0 0 1 1 0 + 1 1 1,1 0 1 1 0 1 +[-x*]补 1 1 1,1 0 1 1 0 1 1 ?2 1 1 1,1 1 1 0 1 1 0 1 0 0,1 0 0 0 + 0 0 0,0 1 0 0 1 1 +x*
0 0 0,0 0 1 1 1 0 0 ?2 0 0 0,0 0 0 0 1 1 1 0 0 1 0 0,1 0 + 0 0 0,1 0 0 1 1 0 +2x*
0 0 0,1 0 1 0 0 1 0 ?2 0 0 0,0 0 1 0 1 0 0 1 1 0 0 1 0 0,
+0 结果同一位乘, x·y= 0,001 010 011 001
补码一位乘:部分积 乘数[y]补 yn+1 0 0,0 0 0 0 0 0 0,1 0 0 0 1 1 0 + 1 1,1 0 1 1 0 1 +[-x]补 1 1,1 0 1 1 0 1
?1 1 1,1 1 0 1 1 0 1 0,1 0 0 0 1 1 —— +0 ?1 1 1,1 1 1 0 1 1 0 1 0,1 0 0 0 1 + 0 0,0 1 0 0 1 1 +[x]补 0 0,0 0 1 1 1 0
?1 0 0,0 0 0 1 1 1 0 0 1 0, 1 0 0 0 —— +0 ?1 0 0,0 0 0 0 1 1 1 0 0 1 0,1 0 0 —— +0 ?1 0 0,0 0 0 0 0 1 1 1 0 0 1 0,1 0 + 1 1,1 0 1 1 0 1 +[-x]补 1 1,1 0 1 1 1 0
?1 1 1,1 1 0 1 1 1 0 1 1 0 0 1 0, 1 + 0 0,0 1 0 0 1 1 +[x]补 0 0,0 0 1 0 1 0 0 1 1 0 0 1 0
注:整数乘此位要省。 (4) x= 0. 110 11, y= -0.111 01 x*= [x]原= [x]补= 0. 110 11 [y]原=1.111 01,y*=0. 111 01 [y]补=1.000 11
[-x*]补= [-x]补= 1.001 01 2x*= [2x]补= 01.101 10 [-2x*]补= [-2x]补= 10.010 10 x0=0,y0=1,z0=x0 ? y0=0 ? 1=1 x*×y*=0.110 000 111 1 [x×y]原=1.110 000 111 1 [x×y]补=1.001 111 000 10 x·y= -0. 110 000 111 1 运算过程如下:
原码一位乘:部分积 乘数y*
0 . 0 0 0 0 0 . 1 1 1 0 1 —— +x* + 0 . 1 1 0 1 1 0 . 1 1 0 1 1
?1 0 . 0 1 1 0 1 1 . 1 1 1 0 —— +0 ?1 0 . 0 0 1 1 0 1 1 . 1 1 1 —— +x* + 0 . 1 1 0 1 1 1 . 0 0 0 0 1
?1 0 . 1 0 0 0 0 1 1 1 . 1 1 —— +x* + 0 . 1 1 0 1 1 1 . 0 1 0 1 1
?1 0 . 1 0 1 0 1 1 1 1 1 . 1 —— +x* + 0 . 1 1 0 1 1 1 . 1 0 0 0 0
?1 0 . 1 1 0 0 0 0 1 1 1 1 原码两位乘:
部分积 乘数y* Cj 0 0 0 . 0 0 0 0 0 0 . 1 1 1 0 1 0 + 0 0 0 . 1 1 0 1 1 +x*
0 0 0 . 1 1 0 1 1 0 ?2 0 0 0 . 0 0 1 1 0 1 1 0 . 1 1 1 + 1 1 1 . 0 0 1 0 1 +[-x*]补
1 1 1 . 0 1 0 1 1 1 ?2 1 1 1 . 1 1 0 1 0 1 1 1 1 . 0 1 + 0 0 1 . 1 0 1 1 0 +2x*
0 0 1 . 1 0 0 0 0 0 ?1 0 0 0 . 1 1 0 0 0 0 1 1 1 1 0 . +0 结果同一位乘, x·y= -0. 110 000 111 1 补码一位乘:
部分积 乘数[y]补 yn+1 0 0 . 0 0 0 0 0 1 . 0 0 0 1 1 0 + 1 1 . 0 0 1 0 1 +[-x]补 1 1 . 0 0 1 0 1
?1 1 1 . 1 0 0 1 0 1 1 . 0 0 0 1 1 —— +0 ?1 1 1 . 1 1 0 0 1 0 1 1 . 0 0 0 1 + 0 0 . 1 1 0 1 1 +[x]补 0 0 . 1 0 1 0 0
?1 0 0 . 0 1 0 1 0 0 0 1 1 . 0 0 0 —— +0 ?1 0 0 . 0 0 1 0 1 0 0 0 1 1 . 0 0 —— +0 ?1 0 0 . 0 0 0 1 0 1 0 0 0 1 1 . 0 + 1 1 . 0 0 1 0 1 +[-x]补 1 1 . 0 0 1 1 1 1 0 0 0 1 0 —— 清0
6.21 用原码加减交替法和补码加减交替法计算x÷y。 (1)x=0.100111,y=0.101011; (2)x=-0.10101, y=0.11011; (3)x=0.10100, y= -0.10001; (4)x=13/32, y= -27/32。 解:
(1)x*=[x]原=[x]补=x= 0.100 111 y*=[y]原=[y]补=y= 0.101 011 [-y*]补=[-y]补=1.010 101 q0=x0?y0=0 ?0=0 x?y=x*?y*=[x?y]原=0.111 010 r*=0.000 010×2-6=0.000 000 000 010 计算过程如下: 原码加减交替除法:
被除数(余数) 商
0 . 1 0 0 1 1 1 0 . 0 0 0 0 0 0 + 1 . 0 1 0 1 0 1 试减,+[-y*]补 1 . 1 1 1 1 0 0
1? 1 . 1 1 1 0 0 0 0 . + 0 . 1 0 1 0 1 1 r<0,+y* 0 . 1 0 0 0 1 1
1? 1 . 0 0 0 1 1 0 0.1 + 1 . 0 1 0 1 0 1 r>0, +[-y*]补 0 . 0 1 1 0 1 1
1? 0 . 1 1 0 1 1 0 0.1 1 + 1 . 0 1 0 1 0 1 r>0, +[-y*]补 0 . 0 0 1 0 1 1
被除数(余数) 商
1? 0 . 0 1 0 1 1 0 0 . 1 1 1 + 1 . 0 1 0 1 0 1 r>0, +[-y*]补
1 . 1 0 1 0 1 1
1? 1 . 0 1 0 1 1 0 0.1 1 1 0 + 0 . 1 0 1 0 1 1 r<0,+y* 0 . 0 0 0 0 0 1
1? 0 . 0 0 0 0 1 0 0.1 1 1 0 1 + 1 . 0 1 0 1 0 1 r>0, +[-y*]补 1 . 0 1 0 1 1 1 1? 0.1 1 1 0 1 0
+ 0 . 1 0 1 0 1 1 r<0,+y*(恢复余数) 0 . 0 0 0 0 1 0 补码加减交替除法:
被除数(余数) 商
0 0 . 1 0 0 1 1 1 0 . 0 0 0 0 0 0 + 1 1 . 0 1 0 1 0 1 试减,x、y同号,+[-y]补 1 1 . 1 1 1 1 0 0
1? 1 1 . 1 1 1 0 0 0 0 . + 0 0 . 1 0 1 0 1 1 r、y异号,+[y]补 0 0 . 1 0 0 0 1 1
1? 0 1 . 0 0 0 1 1 0 0.1
+ 1 1 . 0 1 0 1 0 1 r、y同号, +[-y]补 0 0 . 0 1 1 0 1 1
1? 0 0 . 1 1 0 1 1 0 0.1 1
+ 1 1 . 0 1 0 1 0 1 r、y同号, +[-y]补 0 0 . 0 0 1 0 1 1 被除数(余数) 商
1? 0 0 . 0 1 0 1 1 0 0 . 1 1 1 + 1 1 . 0 1 0 1 0 1 r、y同号, +[-y]补 1 1 . 1 0 1 0 1 1
1? 1 1 . 0 1 0 1 1 0 0.1 1 1 0 + 0 0 . 1 0 1 0 1 1 r、y异号,+[y]补 0 0 . 0 0 0 0 0 1
1? 0 0 . 0 0 0 0 1 0 0.1 1 1 0 1
+ 1 1 . 0 1 0 1 0 1 r、y同号, +[-y]补 1 1 . 0 1 0 1 1 1 1? 0.1 1 1 0 1 1 —— 恒置1 + 0 0 . 1 0 1 0 1 1 r、x异号,(恢复余数) 0 0 . 0 0 0 0 1 0 且r、y异号, +[y]补 注:恒置1引入误差。 x?y=[x?y]补= 0.111 011 [r]补=0.000 010,r=r*=0.000 000 000 010 (2)x= -0.101 01,y=0.110 11 [x]原=1.101 01 x*= 0.101 01
y* = [y]原 = [y]补= y = 0.110 11 [-y*]补= [-y]补= 1.001 01 [x]补= 1.010 11
q0 = x0 ? y0 = 1 ? 0 = 1
共分享92篇相关文档