计算机组成原理第六章答案.doc

上传人:豆**** 文档编号:33534642 上传时间:2022-08-11 格式:DOC 页数:11 大小:153.50KB
返回 下载 相关 举报
计算机组成原理第六章答案.doc_第1页
第1页 / 共11页
计算机组成原理第六章答案.doc_第2页
第2页 / 共11页
点击查看更多>>
资源描述

《计算机组成原理第六章答案.doc》由会员分享,可在线阅读,更多相关《计算机组成原理第六章答案.doc(11页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、精品文档,仅供学习与交流,如有侵权请联系网站删除第6章 计算机的运算方法2. 已知X=0.a1a2a3a4a5a6(ai为0或1),讨论下列几种情况时ai各取何值。(1)(2)(3)解: (1)若要,只要a1=1,a2a6不全为0即可。(2)若要,只要a1a3不全为0即可。(3)若要,只要a1=0,a2可任取0或1;当a2=0时,若a3=0,则必须a4=1,且a5、a6不全为0;若a3=1,则a4a6可任取0或1;当a2=1时, a3a6均取0。3. 设x为整数,x补=1,x1x2x3x4x5,若要求 x -16,试问 x1x5 应取何值? 解:若要x -16,需 x1=0,x2x5 任意。(

2、注:负数绝对值大的补码码值反而小。)4. 设机器数字长为8位(含1位符号位在内),写出对应下列各真值的原码、补码和反码。 -13/64,29/128,100,-87解:真值与不同机器码对应关系如下:真值-13/6429/128100-87二进制-0.0011010.00111011100100-1010111原码1.001 10100.001 11010110 01001101 0111补码1.11001100.001 11010110 010010101001反码1.11001010.001 11010110 0100101010005. 已知x补,求x原和x。 x1补=1.1100; x2

3、补=1.1001; x3补=0.1110; x4补=1.0000; x5补=1,0101; x6补=1,1100; x7补=0,0111; x8补=1,0000; 解:x补与x原、x的对应关系如下:x补1.11001.10010.11101.00001,01011,11000,01111,0000x原1.01001.01110.1110无1,10111,01000,0111无x-0.0100-0.01110.1110-1-1011-1000,0111-100006. 设机器数字长为8位(含1位符号位在内),分整数和小数两种情况讨论真值x为何值时,x补=x原成立。 解:当x为小数时,若x 0,则

4、 x补=x原成立; 若x 0,当x= -1/2时,x补=x原=1.100 0000,则 x补=x原成立。当x为整数时,若x0,则 x补=x原成立;若x 0,当x= -64时,x补=x原=1,100 0000,则x补=x原成立。 7. 设x为真值,x*为绝对值,说明-x*补=-x补能否成立。解:当x为真值,x*为绝对值时,-x*补=-x补不能成立。原因如下:(1)当xy补,是否有xy? 解:若x补y补,不一定有xy。 x补 y补时 x y的结论只在 x 0且y 0,及 x0且y0、 yy,但则x补y补;同样,当x0时,有x y补。9. 当十六进制数9B和FF分别表示为原码、补码、反码、移码和无符

5、号数时,所对应的十进制数各为多少(设机器数采用一位符号位)? 解:真值和机器数的对应关系如下:9BH原码补码反码移码无符号数对应十进制数-27-101-100+27155FFH原码补码反码移码无符号数对应十进制数-128-1-0+12825610. 在整数定点机中,设机器数采用1位符号位,写出0的原码、补码、反码和移码,得出什么结论?解:0的机器数形式如下:(假定机器数共8位,含1位符号位在内)真值原码补码反码移码+00 000 00000 000 00000 000 00001 000 0000-01 000 00000 000 00001 111 11111 000 0000结论:0的原码

6、和反码分别有+0和-0两种形式,补码和移码只有一种形式,且补码和移码数值位相同,符号位相反。11. 已知机器数字长为4位(含1位符号位),写出整数定点机和小数定点机中原码、补码和反码的全部形式,并注明其对应的十进制真值。整数定点机小数定点机原码补码反码真值原码补码反码真值0,0000,0000,000+00.0000.0000.000+00,0010,0010,00110.0010.0010.0010.1250,0100,0100,01020.0100.0100.0100.2500,0110,0110,01130.0110.0110.0110.3750,1000,1000,10040.1000

7、.1000.1000.5000,1010,1010,10150.1010.1010.1010.6250,1100,1100,11060.1100.1100.1100.7500,1110,1110,11170.1110.1110.1110.8751,0000,0001,111-01.0000.0001.111-01,0011,1111,110-11.0011.1111.110-0.1251,0101,1101,101-21.0101.1101.101-0.2501,0111,1011,100-31.0111.1011.100-0.3751,1001,1001,011-41.1001.1001.0

8、11-0.5001,1011,0111,010-51.1011.0111.010-0.6251,1101,0101,001-61.1101.0101.001-0.7501,1111,0011,000-71.1111.0011.000-0.875无1,000无-8无1.000无-112. 设浮点数格式为:阶码5位(含1位阶符),尾数11位(含1位数符)。写出51/128、-27/1024、7.375、-86.5所对应的机器数。要求如下:(1)阶码和尾数均为原码。(2)阶码和尾数均为补码。(3)阶码为移码,尾数为补码。 解:据题意画出该浮点数的格式:阶符1位阶码4位数符1位尾数10位 将十进制数转

9、换为二进制:x1= 51/128= 0.0110011B= 2-1 * 0.110 011B x2= -27/1024= -0.0000011011B = 2-5*(-0.11011B) x3=7.375=111.011B=23*0.111011Bx4=-86.5=-1010110.1B=27*(-0.10101101B)则以上各数的浮点规格化数为:(1)x1浮=1,0001;0.110 011 000 0 x2浮=1,0101;1.110 110 000 0 x3浮=0,0011;0.111 011 000 0 x4浮=0,0111;1.101 011 010 0(2)x1浮=1,1111;

10、0.110 011 000 0 x2浮=1,1011;1.001 010 000 0 x3浮=0,0011;0.111 011 000 0 x4浮=0,0111;1.010 100 110 0(3)x1浮=0,1111;0.110 011 000 0 x2浮=0,1011;1.001 010 000 0 x3浮=1,0011;0.111 011 000 0 x4浮=1,0111;1.010 100 110 013. 浮点数格式同上题,当阶码基值分别取2和16时: (1)说明2和16在浮点数中如何表示。 (2)基值不同对浮点数什么有影响? (3)当阶码和尾数均用补码表示,且尾数采用规格化形式,给

11、出两种情况下所能表示的最大正数和非零最小正数真值。解:(1)阶码基值不论取何值,在浮点数中均为隐含表示,即:2和16不出现在浮点格式中,仅为人为的约定。(2)当基值不同时,对数的表示范围和精度都有影响。即:在浮点格式不变的情况下,基越大,可表示的浮点数范围越大,但浮点数精度越低。(3)r=2时,最大正数的浮点格式为:0,1111;0.111 111 111 1 其真值为:N+max=215(1-2-10) 非零最小规格化正数浮点格式为:1,0000;0.100 000 000 0 其真值为:N+min=2-162-1=2-17r=16时,最大正数的浮点格式为:0,1111;0.1111 111

12、1 11 其真值为:N+max=1615(1-2-10) 非零最小规格化正数浮点格式为:1,0000;0.0001 0000 00 其真值为:N+min=16-1616-1=16-1714. 设浮点数字长为32位,欲表示6万间的十进制数,在保证数的最大精度条件下,除阶符、数符各取1位外,阶码和尾数各取几位?按这样分配,该浮点数溢出的条件是什么?解:若要保证数的最大精度,应取阶码的基值=2。 若要表示6万间的十进制数,由于32768(215) 6万 65536(216),则:阶码除阶符外还应取5位(向上取2的幂)。 故:尾数位数=32-1-1-5=25位 25(32) 该浮点数格式如下:阶符(1

13、位)阶码(5位)数符(1位)尾数(25位) 按此格式,该浮点数上溢的条件为:阶码2515. 什么是机器零?若要求全0表示机器零,浮点数的阶码和尾数应采取什么机器数形式? 解:机器零指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为“0”点及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“机器零”,而真零对应数轴上的一点(0点)。若要求用“全0”表示浮点机器零,则浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、尾数为零,而移码的最小码值正好为“0”,补码的零的形式也为“0”,拼起来正好为一串0的形式)。16设机器数字长为16位,写出下列各种情况下它能表示的

14、数的范围。设机器数采用一位符号位,答案均用十进制表示。 (1)无符号数; (2)原码表示的定点小数。 (3)补码表示的定点小数。 (4)补码表示的定点整数。 (5)原码表示的定点整数。 (6)浮点数的格式为:阶码6位(含1位阶符),尾数10位(含1位数符)。分别写出其正数和负数的表示范围。 (7)浮点数格式同(6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。解:(1)无符号整数:0 216 - 1,即:0 65535; 无符号小数:0 1 - 2-16 ,即:0 0.99998; (2)原码定点小数:-1 + 2-151 - 2-15 ,即:-0.999970.99997

15、(3)补码定点小数:- 11 - 2-15 ,即:-10.99997(4)补码定点整数:-215215 - 1 ,即:-3276832767(5)原码定点整数:-215 + 1215 - 1,即:-3276732767(6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:最大负数= 1,11 111;1.000 000 001 ,即 -2-92-31最小负数= 0,11 111;1.111 111 111,即 -(1-2-9)231则负数表示范围为:-(1-2-9)231 -2-92-31最大正数= 0,11 111;0.111 111 111,即 (1-2-9)231最小正

16、数= 1,11 111;0.000 000 001,即 2-92-31则正数表示范围为:2-92-31 (1-2-9)231(7)当机器数采用补码规格化形式时,若不考虑隐藏位,则最大负数=1,00 000;1.011 111 111,即 -2-12-32最小负数=0,11 111;1.000 000 000,即 -1231则负数表示范围为:-1231 -2-12-32最大正数=0,11 111;0.111 111 111,即 (1-2-9)231 最小正数=1,00 000;0.100 000 000,即 2-12-32则正数表示范围为:2-12-32 (1-2-9)23117. 设机器数字长

17、为8位(包括一位符号位),对下列各机器数进行算术左移一位、两位,算术右移一位、两位,讨论结果是否正确。x1原=0.001 1010;y1补=0.101 0100;z1反=1.010 1111;x2原=1.110 1000;y2补=1.110 1000;z2反=1.110 1000;x3原=1.001 1001;y3补=1.001 1001;z3反=1.001 1001。解:算术左移一位: x1原=0.011 0100;正确 x2原=1.101 0000;溢出(丢1)出错 x3原=1.011 0010;正确 y1补=0.010 1000;溢出(丢1)出错 y2补=1.101 0000;正确 y3

18、补=1.011 0010;溢出(丢0)出错 z1反=1.101 1111;溢出(丢0)出错 z2反=1.101 0001;正确 z3反=1.011 0011;溢出(丢0)出错算术左移两位: x1原=0.110 1000;正确 x2原=1.010 0000;溢出(丢11)出错x3原=1.110 0100;正确y1补=0.101 0000;溢出(丢10)出错 y2补=1.010 0000;正确 y3补=1.110 0100;溢出(丢00)出错 z1反=1.011 1111;溢出(丢01)出错 z2反=1.010 0011;正确 z3反=1.110 0111;溢出(丢00)出错算术右移一位: x1原

19、=0.000 1101;正确 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)

20、;产生误差z1反=1.110 1011;正确z2反=1.111 1010(00);产生误差z3反=1.110 0110(01);产生误差18. 试比较逻辑移位和算术移位。 解:逻辑移位和算术移位的区别: 逻辑移位是对逻辑数或无符号数进行的移位,其特点是不论左移还是右移,空出位均补0,移位时不考虑符号位。 算术移位是对带符号数进行的移位操作,其关键规则是移位时符号位保持不变,空出位的补入值与数的正负、移位方向、采用的码制等有关。补码或反码右移时具有符号延伸特性。左移时可能产生溢出错误,右移时可能丢失精度。19. 设机器数字长为8位(含1位符号位),用补码运算规则计算下列各题。 (1)A=9/64

21、, 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 1100A+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

22、 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 1

23、01B A补=1 010 1001, B补=0 011 0101, -B补=1 100 1011A-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 = 9120. 用原码一位乘、两位乘和补码一位乘(Booth算法)、两位乘计算xy。 (1)x= 0.110 111,y= -0.101 110; (2)x= -0.010

24、 111,y= -0.010 101; (3)x= 19,y= 35; (4)x= 0.110 11,y= -0.111 01。解:先将数据转换成所需的机器数,然后计算,最后结果转换成真值。(1)x原=0.110111,y原=1.101110,x*=0.110111, y*=0.101110原码一位乘:部分积乘数y*说明0.000 000+0.000 000101 110部分积初值为0,乘数为0加0 0.000 000 0.000 000 +0.110 111010 111右移一位乘数为1,加上x* 0.110 111 0.011 011 +0.110 111101 011右移一位乘数为1,加

25、上x* 1.010 010 0.101 001 +0.110 111010 101右移一位乘数为1,加上x* 1.100 000 0.110 000 +0.000 000001 010右移一位乘数为0,加上0 0.110 000 0.011 000 +0.110 111000 101右移一位乘数为1,加上x* 1.001 111 0.100 111100 010右移一位即x*y*=0.100 111 100 010,z0=x0 y0=0 1=1,xy原=1.100 111 100 010,xy= -0. 100 111 100 010原码两位乘:-x*补=1.001 001,2x*=1.101

26、 110部分积乘数y*Cj说明000 . 000 000+001 . 101 11000 101 1100部分积初值为0,Cj=0根据yn-1ynCj=100,加2x*,保持Cj=0 001 . 101 1100 000 . 011 011+111 . 001 00110 001 01110 001 0110右移2位根据yn-1ynCj=110,加-x*补,置Cj=1 111 . 100 100 111 . 111 001+111 . 001 00100 100 0101右移2位根据yn-1ynCj=101,加-x*补,置Cj=1 111 . 000 010 111 . 110 000+000

27、 . 110 11110 001 0001右移2位根据yn-1ynCj=001,加x*,保持Cj=0 000 . 100 11110 001 0即x*y*=0.100 111 100 010,z0=x0 y0=0 1=1,xy原=1.100 111 100 010,xy= -0. 100 111 100 010补码一位乘:x补=0.110111,-x补=1.001001,y补=1.010010部分积乘数Yn+1说明 00 . 000 000 00 . 000 000+11 . 001 0011 010 0100 101 00100Ynyn+1=00,部分积右移1位Ynyn+1=10,部分积加-

28、x补 11 . 001 001右移1位 11 . 100 100+00 . 110 1111 010 1001Ynyn+1=01,部分积加x补 00 . 011 011右移1位 00 . 001 101 00 . 000 110+11 . 001 0011 101 0101 110 10100Ynyn+1=00,部分积右移1位Ynyn+1=10,部分积加-x补 11 . 001 111右移1位 11 . 100 111+00 . 110 1111 111 0101Ynyn+1=01,部分积加x补 00 . 011 110 00 . 001 111+11 . 001 0010 111 1010右

29、移1位Ynyn+1=10,部分积加-x补 11 . 011 0000 111 10即 xy补=1.011 000 011 110,xy= -0.100 111 100 010补码两位乘:2x补=001.101110,2-x补=1.001001部分积乘数Yn+1说明结果同补码一位乘, xy= -0. 100 111 100 010 0021. 用原码加减交替法和补码加减交替法计算xy。 (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)

30、x*=x原=x补=x= 0.100 111 y*=y原=y补=y= 0=0 y0=0 0.101 011 -y*补=-y补=1.010 101 q0=x0 y原=0.111 010 r*=0.000 0102-6=0.000 000 000 010 y*=xy=x*x 计算过程如下:原码加减交替除法: 被除数(余数) 商 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 1 . 1 1 1 0 0 0 0 . + 0 . 1 0 1 0 1 1 0 1 r0, +-y*补 0 . 0 1 1 0 1

31、 1 1 0 . 1 1 0 1 1 0 0.1 1 + 1 . 0 1 0 1 0 1 r0, +-y*补 0 . 0 0 1 0 1 1 0 .续: 被除数(余数) 商 1 0 1 0 1 1 0 0 . 1 1 1 + 1 . 0 1 0 1 0 1 r0, 1 . 0 1 0 1 1 0 0.1 1 1 0 +-y*补 1 . 1 0 1 0 1 1 1 + 0 . 1 0 1 0 1 1 r0, 0.1 1 1 0 1 0 + 0 . 1 0 1 0 1 1 +-y*补 1 . 0 1 0 1 1 1 1 r0,+y*(恢复余数) 0 . 0 0 0 0 1 0补码加减交替除法: 被

32、除数(余数) 商 0 0 . 1 0 0 1 1 1 0 . 0 0 0 0 0 0 + 1 1 . 0 1 0 1 0 1 1 . 1 1 1 0 0 0 1 试减,x、y同号,+-y补 1 1 . 1 1 1 1 0 0 1 0 . + 0 0 . 1 0 1 0 1 1 r、y异号,+y补 0 0 0 1 . 0 0 0 1 1 0 0.1 + 1 1 . 0 1. 1 0 0 0 1 1 1 0 0 . 1 1 00 1 0 1 r、y同号, +-y补 0 0 . 0 1 1 0 1 1 1 1 1 0 0.1 1 + 1 1 . 0 1 0 1 0 1 r、y同号, +-y补 0 0

33、 . 0 0 1 0 1 1 0 0 . 0 1 0 续: 被除数(余数) 商 1 1 1 0 0 . 1 1 1 + 1 1 . 0 1 0 1 0 1 r、y同号, +-y补 1 1 . 0 1 0 1 1 0 0.1 1 1 0 + 1 1 . 1 0 1 0 1 1 1 0 0 . 00 0 . 1 0 1 0 1 1 r、y异号,+y补 0 0 . 0 0 0 0 0 1 1 0 0 0 1 0 0.1 1 1 0 1 + 1 1 . 0 1 0 1 0 1 r、y同号, 0.1 1 1 0 1 1 恒置1 + 0 0 . 1 0 1 +-y补 1 1 . 0 1 0 1 1 1 1

34、 0 1 1 r、x异号,(恢复余数) 0 0 . 0 0 0 0 1 0 且r、y异号, +y补 y补= 0.111 011 r6补=0.000 010,r=r*=0.000 000 000 010y=x注:恒置1引入误差。 x (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 yy原=1.110 00 xy*= 0.110 00 x 0 = 1 x* y0 = 1 q0 = x0 = -0.110 00 r*=0.11

35、0 002-5 =0.000 001 100 0 计算过程如下:原码加减交替除法: 被除数(余数) 商 0 . 1 0 1 0 1 0 . 0 0 0 0 0 + 1 . 0 0 1 0 1 试减,+-y*补 1 . 1 1 0 1 0 1 1 . 1 0 1 0 0 0 . + 0 . 1 1 0 1 1 r 0 . 0 00, +-y*补 0 . 0 0 0 1 1 1 1 1 0 0.1 1 + 1 . 0 0 1 0 1 r0, +-y*补 1 . 0 1 0 1 1 0 . 1 0 1 1 0 续: 被除数(余数) 商 1 0 . 1 1 0 + 0 . 1 1 0 1 1 r0,

36、+y* 1 . 1 0 0 0 1 . 0 0 0 1 0 0.1 1 0 0 + 0 . 1 1 0 1 1 1 1 r 0.1 1 0 0 0 + 0 . 1 1 0 1 1 0,+y* 1 . 1 1 1 0 1 1 r0, +y*(恢复余数) 0 . 1 1 0 0 0 补码加减交替除法: 被除数(余数) 商 1 1 . 0 1 0 1 1 0 . 0 0 0 0 0 + 0 0 . 1 1 0 1 1 0 0 . 0 1 1 0 0 试减,x、y异号,+y补 0 0 . 0 0 1 1 0 1 1 . + 1 1 . 0 0 1 0 1 r、y同号,+-y补 1 1 . 1 0 0 0 1 1 . 0 0 0 1 0 1.0 + 0 0 . 1 1 0 1 1 1 1 1 1 . 1 1 0 1 0 r、y异号, +y补 1 1 . 1 1 1 0 1 1 1.0 0 + 0 0 . 1 1 0 1 1 r、y异号, +y补 0 0 . 1 0 1 0 1 0 1 . 0 1 0 1 0 1 . 0 0 1续: 被除数(余数) 商 1 0 0 + 1 1 . 0 0 1 0 1 r、y同号, +-y补 0 0 . 0 1 1 1 1 1 . 1 1 1

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 小学资料

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com