第一范文网 - 专业文章范例文档资料分享平台

计算机组成原理课后答案(唐朔飞第二版)[1]

来源:用户分享 时间:2025/7/24 9:51:24 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

25

[x2]原=1.011 0100;正确

[x3]原=1.000 1100(1);丢1,产生误差 [y1]补=0.010 1010;正确 [y2]补=1.111 0100;正确

[y3]补=1.100 1100(1);丢1,产生误差 [z1]反=1.101 0111;正确

[z2]反=1.111 0100(0);丢0,产生误差 [z3]反=1.100 1100;正确 算术右移两位:

[x1]原=0.000 0110(10);产生误差 [x2]原=1.001 1010;正确

[x3]原=1.000 0110(01);产生误差 [y1]补=0.001 0101;正确 [y2]补=1.111 1010;正确

[y3]补=1.110 0110(01);产生误差 [z1]反=1.110 1011;正确

[z2]反=1.111 1010(00);产生误差

[z3]反=1.110 0110(01);产生误差 18. 试比较逻辑移位和算术移位。

解:逻辑移位和算术移位的区别: 逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。 算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。补码或反码右移时具有符号延伸特性。左移时可能产生溢出错误,右移时可能丢失精度。

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

(1)A=9/64, B=-13/32,求A+B。 (2)A=19/32,B=-17/128,求A-B。 (3)A=-3/16,B=9/32,求A+B。 (4)A=-87,B=53,求A-B。 (5)A=115,B=-24,求A+B。

解:(1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100B [A]补=0.001 0010, [B]补=1.100 1100

[A+B]补= 0.0010010 + 1.1001100 = 1.1011110 ——无溢出 A+B= -0.010 0010B = -17/64

(2)A=19/32= 0.100 1100B, B= -17/128= -0.001 0001B

[A]补=0.100 1100, [B]补=1.110 1111 , [-B]补=0.001 0001

[A-B]补= 0.1001100 + 0.0010001= 0.1011101 ——无溢出 A-B= 0.101 1101B = 93/128B

(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

26

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

[A-B]补= 1 0101001 + 1 1001011 = 0 1110100 —— 溢出 (5)A=115= 111 0011B, B= -24= -11 000B [A]补=0 1110011, [B]补=1,110 1000

[A+B]补= 0 1110011 + 1 1101000 = 0 1011011——无溢出 A+B= 101 1011B = 91

6.20 用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算x·y。 (1)x= 0.110 111,y= -0.101 110; (2)x= -0.010 111,y= -0.010 101; (3)x= 19, y= 35; (4)x= 0.110 11, y= -0.111 01。

解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。 (1)[x]原=x=0.110111,[y]原=1.101110 x*=0.110111, y*=0.101110 x0=0,y0=1,z0=x0 ? y0=0 ? 1=1 x*×y*=0.100 111 100 010 [x×y]原=1.100 111 100 010 x·y= -0. 100 111 100 010 原码一位乘:

部分积 乘数y*

0 . 0 0 0 0 0 0 . 1 0 1 1 1 0 —— +0 ?1 0 . 0 0 0 0 0 0 0 . 1 0 1 1 1 —— +x* + 0 . 1 1 0 1 1 1 0 . 1 1 0 1 1 1

?1 0 . 0 1 1 0 1 1 1 0 . 1 0 1 1 —— +x* + 0 . 1 1 0 1 1 1 1 . 0 1 0 0 1 0

?1 0 . 1 0 1 0 0 1 0 1 0 . 1 0 1 —— +x* + 0 . 1 1 0 1 1 1 1 . 1 0 0 0 0 0

?1 0 . 1 1 0 0 0 0 0 0 1 0 . 1 0 —— +0 ?1 0 . 0 1 1 0 0 0 0 0 0 1 0 . 1 —— x* + 0 . 1 1 0 1 1 1 1 . 0 0 1 1 1 1

?1 0 . 1 0 0 1 1 1 1 0 0 0 1 0 2x*=01.101110,[-x*]补=[-x]补=1.001001 原码两位乘:

部分积 乘数 Cj 0 0 0 . 0 0 0 0 0 0 0 0 . 1 0 1 1 1 0 0 + 0 0 1 . 1 0 1 1 1 0 +2x*

0 0 1 . 1 0 1 1 1 0 0 ?2 0 0 0 . 0 1 1 0 1 1 1 0 0 0 .1 0 1 1 + 1 1 1 . 0 0 1 0 0 1 +[-x*]补

1 1 1 . 1 0 0 1 0 0 1

27

?2 1 1 1 . 1 1 1 0 0 1 0 0 1 0 0 0 .1 0 + 1 1 1 . 0 0 1 0 0 1 +[-x*]补

1 1 1 . 0 0 0 0 1 0 1 ?2 1 1 1 . 1 1 0 0 0 0 1 0 0 0 1 0 0 0 . + 0 0 0 . 1 1 0 1 1 1 +x*

0 0 0 . 1 0 0 1 1 1 1 0 0 0 1 0 0 结果同一位乘,x·y= -0. 100 111 100 010 [x]补=x=0.110111 [y]补=1.010010 [-x]补=1.001001 [2x]补=01.101110 [-2x]补=10.010010

[x×y]补=1.011 000 011 110 0 x·y= -0.100 111 100 010 0 补码一位乘、两位乘运算过程如下:

补码一位乘:部分积 乘数[y]补 yn+1

0 0 . 0 0 0 0 0 0 1 . 0 1 0 0 1 0 0 ?1 0 0 . 0 0 0 0 0 0 0 1 . 0 1 0 0 1 0 + 1 1 . 0 0 1 0 0 1 +[-x] 1 1 . 0 0 1 0 0 1

?1 1 1 . 1 0 0 1 0 0 1 0 1 . 0 1 0 0 1 + 0 0 . 1 1 0 1 1 1 +[x] 0 0 . 0 1 1 0 1 1

?1 0 0 . 0 0 1 1 0 1 1 1 0 1 . 0 1 0 0 ?1 0 0 . 0 0 0 1 1 0 1 1 1 0 1 . 0 1 0 + 1 1 . 0 0 1 0 0 1 +[-x] 1 1 . 0 0 1 1 1 1

?1 1 1 . 1 0 0 1 1 1 1 1 1 1 0 1 . 0 1 + 0 0 . 1 1 0 1 1 1 +[x] 0 0 . 0 1 1 1 1 0

?1 0 0 . 0 0 1 1 1 1 0 1 1 1 1 0 1 . 0 + 1 1 . 0 0 1 0 0 1 +[-x] 1 1 . 0 1 1 0 0 0 0 1 1 1 1 0 0 (2) x= -0.010111, y= -0.010101 [x]原=1.010111, [y]原=1.010101 x*=0. 010111 , y*=0. 010101 [-x*]补=1.101001,2x*=0.101110 [-2x*]补=1.010010

x0=1,y0=1,z0=x0 ? y0=1 ? 1=0 [x]补=1.101001, [y]补=1.101011 [-x]补=0.010111,[2x]补=1.010010 [-2x]补=0.101110

x*×y*=0.000 111 100 011 [x×y]原=0.000 111 100 011

—— +0 补 补 —— +0 补 补 补 —— 清0 28

[x×y]补=0.000 111 100 011 0 x·y= 0. 000 111 100 011 运算过程如下: 原码一位乘:

部分积 乘数y*

0 . 0 0 0 0 0 0 . 0 1 0 1 0 1 —— +x* + 0 . 0 1 0 1 1 1 0 . 0 1 0 1 1 1

?1 0 . 0 0 1 0 1 1 1 . 0 1 0 1 0 —— +0 ?1 0 . 0 0 0 1 0 1 1 1 . 0 1 0 1 —— +x* + 0 . 0 1 0 1 1 1 0 . 0 1 1 1 0 0

?1 0 . 0 0 1 1 1 0 0 1 1 . 0 1 0 —— +0 ?1 0 . 0 0 0 1 1 1 0 0 1 1 . 0 1 —— +x* + 0 . 0 1 0 1 1 1 0 . 0 1 1 1 1 0

?1 0 . 0 0 1 1 1 1 0 0 0 1 1 . 0 —— +0 ?1 0 . 0 0 0 1 1 1 1 0 0 0 1 1 原码两位乘:

部分积 乘数y* Cj 0 0 0 . 0 0 0 0 0 0 0 0 . 0 1 0 1 0 1 0 + 0 0 0 . 0 1 0 1 1 1 +x*

0 0 0 . 0 1 0 1 1 1 0 ?2 0 0 0 . 0 0 0 1 0 1 1 1 0 0 .0 1 0 1 + 0 0 0 . 0 1 0 1 1 1 +x*

0 0 0 . 0 1 1 1 0 0 0 ?2 0 0 0 . 0 0 0 1 1 1 0 0 1 1 0 0 .0 1 + 0 0 0 . 0 1 0 1 1 1 +x*

0 0 0 . 0 1 1 1 1 0 0 ?2 0 0 0 . 0 0 0 1 1 1 1 0 0 0 1 1 0 0 .

+0 结果同一位乘, x·y= 0. 000 111 100 011

补码一位乘:部分积 乘数[y]补 yn+1

0 0 . 0 0 0 0 0 0 1 . 1 0 1 0 1 1 0 + 0 0 . 0 1 0 1 1 1 +[-x]补 0 0 . 0 1 0 1 1 1

?1 0 0 . 0 0 1 0 1 1 1 1 . 1 0 1 0 1 1 —— +0 ?1 0 0 . 0 0 0 1 0 1 1 1 1 . 1 0 1 0 1 + 1 1 . 1 0 1 0 0 1 +[x]补 1 1 . 1 0 1 1 1 0

?1 1 1 . 1 1 0 1 1 1 0 1 1 1 . 1 0 1 0 + 0 0 . 0 1 0 1 1 1 +[-x]补 0 0 . 0 0 1 1 1 0

?1 0 0 . 0 0 0 1 1 1 0 0 1 1 1 . 1 0 1

计算机组成原理课后答案(唐朔飞第二版)[1].doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c6oa2h8ii1g6x2111f53f_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top