计算机组成原理第六章答案54731培训资料.docx

上传人:scccc 文档编号:12934928 上传时间:2021-12-07 格式:DOCX 页数:12 大小:112.99KB
返回 下载 相关 举报
计算机组成原理第六章答案54731培训资料.docx_第1页
第1页 / 共12页
计算机组成原理第六章答案54731培训资料.docx_第2页
第2页 / 共12页
计算机组成原理第六章答案54731培训资料.docx_第3页
第3页 / 共12页
计算机组成原理第六章答案54731培训资料.docx_第4页
第4页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《计算机组成原理第六章答案54731培训资料.docx》由会员分享,可在线阅读,更多相关《计算机组成原理第六章答案54731培训资料.docx(12页珍藏版)》请在三一文库上搜索。

1、计算机组成原理第六章答案 54731精品文档第 6 章 计算机的运算方法2. 已知 X=0.a1a2a3a4a5a6( ai 为 0 或 1),讨论下列几种情况时ai 各取何值。(1) X12(2) X1811( 3)X416解: (1)若要 X1 ,只要 a1=1,a2a6 不全为 0 即可。2( 2)若要 X1 ,只要 a1a3不全为 0 即可。8( 3)若要1X1 ,只要 a1=0,a2 可任取 0 或 1;4 16当 a2=0 时,若 a3=0,则必须 a4=1,且 a5、a6 不全为 0;若 a3=1,则 a4a6 可任取 0 或 1;当 a2=1 时, a3a6 均取 0。3. 设

2、 x 为整数, x 补 =1, x1x2x3x4x5 ,若要求 x < -16 ,试问 x1x5 应取何值?解:若要 x < -16 ,需 x1=0, x2x5 任意。(注:负数绝对值大的补码码值反而小。)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.11001

3、100.001 11010110 010010101001反码1.11001010.001 11010110 0100101010005. 已知 x 补 ,求 x 原 和 x 。x1 补 =1.1100;x2 补=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,01

4、000,0111无x-0.0100-0.01110.1110-1-1011-1000,0111-100006.设机器数字长为8 位(含 1 位符号位在内),分整数和小数两种情况讨论真值x 为何值时, x 补 =x 原 成立。解:当 x 为小数时,若x0,则x 补 =x 原 成立;若 x < 0 ,当 x= -1/2 时, x 补 =x 原 =1.100 0000 ,则 x 补 =x 原 成立。当 x 为整数时,若 x 0,则 x 补=x 原 成立;若 x< 0,当 x= -64 时, x 补 =x 原 =1,100 0000,则 x 补 =x 原成立。7. 设 x 为真值, x*

5、为绝对值,说明 -x* 补 =-x 补 能否成立。解:当 x 为真值, x* 为绝对值时, -x* 补 =-x 补 不能成立。原因如下:( 1)当 x<0 时,由于 -x* 补 是一个负值,而-x 补是一个正值,因此此时-x* 补 =-x 补 不成立;( 2)当 x 0 时,由于 -x*=-x ,因此此时-x* 补=-x 补 的结论成立。8. 讨论若 x 补 >y 补 ,是否有x>y ?解:若 x 补 >y 补 ,不一定有x>y 。 x 补 > y 补时 x > y 的结论只在x > 0 且 y > 0 ,及 x<0 且 y<0

6、 时成立。收集于网络,如有侵权请联系管理员删除精品文档由于正数补码的符号位为0,负数补码的符号位为1,当 x>0、 y<0 时,有 x>y ,但则 x 补 <y 补 ;同样,当x<0 、 y >0时,有 x < y ,但 x 补 >y 补 。9. 当十六进制数 9B 和 FF 分别表示为原码、补码、反码、移码和无符号数时,所对应的十进制数各为多少(设机器数采用一位符号位)?解:真值和机器数的对应关系如下:9BH原码补码反码移码无符号数对应十进制数-27-101-100+27155FFH原码补码反码移码无符号数对应十进制数-128-1-0+1282

7、5610. 在整数定点机中,设机器数采用1 位符号位,写出 ±0 的原码、补码、反码和移码,得出什么结论?解: 0 的机器数形式如下:(假定机器数共8 位,含 1 位符号位在内)真值原码补码反码移码+00 000 00000 000 00000 000 00001 000 0000-01 000 00000 000 00001 111 11111 000 0000结论: 0 的原码和反码分别有+0 和-0 两种形式,补码和移码只有一种形式,且补码和移码数值位相同,符号位相反。11. 已知机器数字长为 4 位(含 1 位符号位),写出整数定点机和小数定点机中原码、补码和反码的全部形式,

8、并注明其对应的十进制真值。整数定点机小数定点机原码补码反码真值原码补码反码真值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.1000.1000.5000,1010,1010,10150.1010.1010.1010.6250,1100,1100,11060.1100.1100.1100.7500,1110,1110

9、,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.011-0.5001,1011,0111,010-51.1011.0111.010-0.6251,1101,0101,001-61.1101.0101.001-0.7501,1111,0011,0

10、00-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位将十进制数转换为二进制: x1= 51/128= 0.0110011B= 2 -1 * 0.110 011B-5x2= -27/1024= -0.0000011011B =

11、 2*(-0.11011B )3x3=7.375=111.011B=2 *0.111011Bx4=-86.5=-1010110.1B=2 7*(-0.10101101B)则以上各数的浮点规格化数为:( 1)x1 浮=1,0001; 0.110 011 000 0 x2 浮 =1,0101; 1.110 110 000 0x3 浮 =0,0011; 0.111 011 000 0收集于网络,如有侵权请联系管理员删除精品文档x4 浮 =0,0111; 1.101 011 010 0( 2)x1 浮=1,1111; 0.110 011 000 0 x2 浮 =1,1011; 1.001 010 00

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

13、数真值。解:( 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-16×2-1 =2-17r=16 时,最大正数的浮点格式为:0,1111; 0.1111 1

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

15、的幂)。故:尾数位数 =32-1-1-5=25 位25(32) 该浮点数格式如下:阶符( 1 位)阶码( 5 位)数符( 1 位)尾数( 25 位)按此格式,该浮点数上溢的条件为:阶码2515. 什么是机器零?若要求全 0 表示机器零,浮点数的阶码和尾数应采取什么机器数形式?解:机器零指机器数所表示的零的形式,它与真值零的区别是:机器零在数轴上表示为“ 0点”及其附近的一段区域,即在计算机中小到机器数的精度达不到的数均视为“机器零 ”,而真零对应数轴上的一点(0 点)。若要求用 “全 0”表示浮点机器零,则浮点数的阶码应用移码、尾数用补码表示(此时阶码为最小阶、尾数为零,而移码的最小码值正好为

16、“ 0,”补码的零的形式也为 “ 0,”拼起来正好为一串0 的形式)。16设机器数字长为16 位,写出下列各种情况下它能表示的数的范围。设机器数采用一位符号位,答案均用十进制表示。( 1)无符号数;( 2)原码表示的定点小数。( 3)补码表示的定点小数。( 4)补码表示的定点整数。收集于网络,如有侵权请联系管理员删除精品文档( 5)原码表示的定点整数。( 6)浮点数的格式为:阶码 6 位(含 1 位阶符),尾数 10 位(含 1 位数符)。分别写出其正数和负数的表示范围。( 7)浮点数格式同( 6),机器数采用补码规格化形式,分别写出其对应的正数和负数的真值范围。解:( 1)无符号整数:0 2

17、16 - 1,即: 0 65535 ;无符号小数: 0 1 - 2-16 ,即: 0 0.99998;( 2)原码定点小数: -1 + 2 -151 - 2-15 ,即: -0.999970.99997( 3)补码定点小数: - 11 - 2 -15 ,即: -10.99997( 4)补码定点整数: -2 15215 - 1 ,即: -3276832767( 5)原码定点整数: -2 15 + 1215 - 1 ,即: -3276732767( 6)据题意画出该浮点数格式,当阶码和尾数均采用原码,非规格化数表示时:最大负数 = 1,11 111; 1.000 000 001 ,即 -2-9 2

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

19、,即 -1 2-931最大正数 =0, 11 111;0.111 111 111,即 (1-2 ) 2则正数表示范围为:2-1 2-32 ( 1-2-9) 23117. 设机器数字长为 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

20、1001 。解:算术左移一位:x1 原 =0.011 0100;正确x2原 =1.101 0000;溢出(丢1)出错x3原 =1.011 0010;正确y1补 =0.010 1000;溢出(丢1)出错y2补 =1.101 0000;正确y3补 =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)出

21、错y2补 =1.010 0000;正确y3补 =1.110 0100;溢出(丢00)出错收集于网络,如有侵权请联系管理员删除精品文档z1 反 =1.011 1111;溢出(丢01)出错z2 反 =1.010 0011;正确z3 反 =1.110 0111;溢出(丢00)出错算术右移一位:x1 原 =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

22、反 =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. 试比较逻辑移位和算术移位。解:逻辑移位和算术移位的区别:逻辑移位是对逻辑数或无符

23、号数进行的移位,其特点是不论左移还是右移,空出位均补 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 。(

24、5) A=115 , B=-24,求 A+B 。解:( 1)A=9/64= 0.001 0010B, B= -13/32= -0.011 0100BA 补=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 0001BA 补 =0.100 1100, B 补=1.110 1111 , -B 补 =0.001 0001A-B 补= 0.1001100 + 0.0010

25、001= 0.1011101 无溢出A-B= 0.101 1101B = 93/128B( 3) A= -3/16= -0.001 1000B, B=9/32= 0.010 0100BA 补=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 101BA 补 =1 010 1001, B 补=0 011 0101, -B 补=1 100 1011A

26、-B 补= 1 0101001 + 1 1001011 = 0 1110100 溢出( 5) A=115= 111 0011B, B= -24= -11 000BA 补=0 1110011, B 补 =1,110 1000A+B 补= 0 1110011 + 1 1101000 = 0 1011011 无溢出A+B= 101 1011B = 9120. 用原码一位乘、两位乘和补码一位乘(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= 3

27、5;( 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 000101 110部分积初值为 0,乘数为 0 加 0+0.000 0000.000 000右移一位0.000 000010 111乘数为 1,加上 x*+0.110 1110.110 111右移一位0.011 011101 011乘数为 1,加上 x*+0.110 1111.010 010右移一位0.101

28、 001010 101乘数为 1,加上 x*+0.110 1111.100 000右移一位0.110 000001 010乘数为 0,加上 0+0.000 0000.110 000右移一位0.011 000000 101乘数为 1,加上 x*+0.110 1111.001 111右移一位0.100 111100 010即 x* ×y*=0.100 111 100 010, z0=x0 y0=0 1=1,x ×y 原=1.100 111 100 010, x·y= -0. 100 111 100 010原码两位乘: -x* 补 =1.001 001,2x*=1.10

29、1 110部分积乘数 y*C j说明000 . 000 00000 101 1100部分积初值为 0,Cj =0+001 . 101 110根据 y n-1y nCj=100,加 2x* ,保持 Cj=0001 . 101 1100000 . 011 01110 001 0110右移 2位+111 . 001 00110 001 011根据 y n-1ynCj=110,加 -x* 补 ,置 Cj =1111 . 100 100右移 2位111 . 111 00100 100 0101+111 . 001 001根据 y n-1ynCj=101,加 -x* 补 ,置 Cj =1111 . 000

30、 010111 . 110 00010 001 0001右移 2位+000 . 110 111根据 y n-1ynCj=001,加 x* ,保持 Cj =0000 . 100 11110 001 0即 x* ×y*=0.100 111 100 010, z0=x0 y0=0 1=1,收集于网络,如有侵权请联系管理员删除精品文档x ×y 原=1.100 111 100 010, x·y= -0. 100 111 100 010补码一位乘: x 补 =0.110111,-x 补 =1.001001,y 补 =1.010010部分积乘数Y n+1说明00 . 000 0

31、001 010 0100Y nyn+1=00,部分积右移1 位00 . 000 0000 101 0010Y nyn+1=10,部分积加 -x 补+11 . 001 00111 . 001 001右移 1位11 . 100 1001 010 1001Y nyn+1=01,部分积加 x 补+00 . 110 11100 . 011 011右移 1位00 . 001 1011 101 0100Y nyn+1=00,部分积右移1 位00 . 000 1101 110 1010Y nyn+1=10,部分积加 -x 补+11 . 001 00111 . 001 111右移 1位11 . 100 1111

32、 111 0101Y nyn+1=01,部分积加 x 补+00 . 110 11100 . 011 110右移 1位00 . 001 1110 111 1010Y nyn+1=10,部分积加 -x 补+11 . 001 00111 . 011 0000 111 10即 x ×y补 =1.011 000 011 110, x·y= -0.100 111 100 010补码两位乘:2x 补=001.101110,2-x 补 =1.001001部分积乘数Y n+1说明结果同补码一位乘,x ·y= -0. 100 111 100 010 0021. 用原码加减交替法和补码

33、加减交替法计算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 111y*=y原=y 补 =y= 0=0y0=00.101 011-y* 补=-y 补 =1.010101q0=x0 y 原 =0.111 010 r*=0.000 010 2-6=0×.000 000000 010y*=xy=x*x 计算过程如下:原码加减交替除法:被除数(余数)商0

34、.1001 1 10.0000 0 0+ 1.010 101试减, +-y*补1.111 101.1110 0 00 . +0.1010 1 10 1r<1.0001 1 00, +y*0 .10 0 01 110.1 + 1.0101 0 1r>0, +-y* 补0.01101110.110 1100.1 1+ 1.0101 0 1r>0 , +-y* 补0.0010 1 10 .续:被除数(余数)商1010 1100.111+1.0101 0 1r>0 , 1 . 0 1 01 100.11 1 0+-y* 补1.1010111+0.10101 1r<0.00

35、0,+y*0.000 001100 100.1 11 0 1+ 1.010 101r>0 , 0.1 1 1 0 1 0+ 0.1010 1 1+-y* 补1.0101 111r<0,+y* (恢复余数)0.000 010补码加减交替除法:被除数(余数)商00.1001 1 10.000000 +11.010 1011.1110 001试减, x、y 同号, +-y 补1 1.11110010 .+ 00.1010 1 1r 、y 异号, +y 补000 1 .000 1100.1 +11.01.1000 1 11 00.11001 0 1r、y 同号, +-y 补00.0110

36、1 11 1100.1 1+ 11.0101 0 1r 、 y 同号, +-y 补00.0010 1 100.01 0续:被除数(余数)商11100.111+ 11.0101 0 1r 、y 同号, +-y 补11.0101 100.1110 +11.101011100.000.101 011r、 y 异号, +y 补00.0000 0 110 0 01 00.11 101+ 1 1.010 10 1r 、y 同号, 0.1 1 1011 恒置 1+ 00.101+-y 补1收集于网络,如有侵权请联系管理员删除精品文档1.0101 1 11011r 、x 异号,(恢复余数)00.0000 1

37、0且 r、 y 异号, +y 补 y补 = 0.111 011r6 补=0.000 010, r=r*=0.000 000 000 010y=x注:恒置1 引入误差。 x( 2)x= -0.101 01 ,y=0.110 11x 原=1.101 01x*= 0.101 01y* = y原 = y 补 = y = 0.110 11-y* 补 = -y 补 =1.001 01x 补 = 1.010 11y y 原 =1.110 00xy*= 0.110 00x0 = 1x*y0 = 1q0 = x0= -0.11000r*=0.110 002-5×=0.000 001 100 0计算过程如下:原码加减交替除法:被除数(余数)商0.1010 10 . 00 00 0+ 1.0010 1试减, +-y*补1.110 1011.1010 00 . +0.1101 1r< 0 . 1 1 1 1 00.10, +y*0.0111 11 +1.0010 1r>0.000, +-y*补0.00011111 00.1 1+ 1.0010 1r>0 ,+-y* 补1.0101 1

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1