收藏 分享(赏)

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

上传人:weiwoduzun 文档编号:3228539 上传时间:2018-10-08 格式:DOC 页数:11 大小:96KB
下载 相关 举报
计算机组成与原理第三章答案.doc_第1页
第1页 / 共11页
计算机组成与原理第三章答案.doc_第2页
第2页 / 共11页
计算机组成与原理第三章答案.doc_第3页
第3页 / 共11页
计算机组成与原理第三章答案.doc_第4页
第4页 / 共11页
计算机组成与原理第三章答案.doc_第5页
第5页 / 共11页
点击查看更多>>
资源描述

1、第三章3.1 十进制数化成地进制数和八进制数(无法精确表示时,二进制数取 3 位小数,八进制取1 位小数) 。73/4,3/64,73.5,725.9375,25.34解:(1) 、 (7+3/4 ):(7) 10=(111) 2(3/4 ) 10=(0.00) 2 (7+3/4) 10=(111.11)=(7.6) 8(2) 、 (3/64) 10=(0.000011 ) 2=(0.03) 8(3) 、 (73) 10=64+8+1=(1001001) , (0.5) 10=(0.1) 2(73.5) 10=(1001001.1) 2=(111.4) 8(4) 、 (725) 10=512+

2、128+64+16+4+1=(1011010101) 2=(1325) 8(0.9375) 10=(0.1111) 2=(0.74) 8(725.9375) 10=(1011010101.1111) 2=(1325.74) 8(5) 、 (25) 10=(11001) 2=(31) 8(0.34) 10=(0.011) 2=(0.3) 8(25.34) 10=(11001.011) 2=(31.3) 83.2 把下列各数化成十进制数:(101.10011) 2,(22.2)8,(AD.4)16,解:(1) (101.10011) 2 2 0 -4 -5=(5.59375)10=(5+19/32

3、)10(2)(123.123) 4=42+2*41+3+4-1+2*4-2+3*4-3=(27.421875)10 =(27+27/64)10=(1+1/4)*(4+2*4+3)=27*(1/64+1)(3) (22.2)8=2*81+2+2*8-1=(10.25)10=(10+1/4)10(4)(AD.4) 16=10*16+13+4*16-1=(173.25)10=(173+1/4)10(5) (300.3)8=3*82+3*8-1=(192.375)10=(192+3/8)103.3 完成下列二进制运算:101.111+11.011,1001.10-110.01,101.11*11.01

4、,10111011111013.4 写出下列各地进制数的原码、补码和反码:0.1010,0,-0,-0.1010,0.1111,-0.0100答:x x原 x补 x反0.1010 0.1010 0.1010 0.10100 0.0000 0.0000 0.0000-0 1.0000 0.0000 1.1111 -0.1010 1.1010 1.0110 1.01010.1111 0.1111 0.1111 0.1111 -0.0100 1.0100 1.1100 1.10113.5 已知X 原 为下述各值,求X 补 :0.10100,1.10111,1.10110答:x原 0.10100 1.

5、10111 1.10110x补 0.10100 1.01001 1.010103.6 已知X 补 为下述各值,求 X(真值):0.1110,1.1100,0.0001,1.1111,1.0001答:x补 0.1110 1.1100 0.0001 1.1111 1.0001x 0.1110 -0.0100 0.0001 -0.0001 -0.11113.7 已知 X0.1011,Y= -0.0101,试求:X 补 ,-X 补 ,Y补 ,-Y 补 ,X/2补 ,X/4补 ,2X补 ,Y/2补 ,Y/4补 ,2Y补 ,-2Y补答:x补 =0.1011; -x补 =1.0101; y补 =1.1011

6、; -y补 =0.0101;x/2补 =0.0101(1); x/4补 =0.0010(11); 2x补 =1.0110(溢出 );y/2补=1.1101(1); y/4补 =1.1110(11); 2y补 =1.0110; -2y补 =0.10103.8 设十进制数 X(128.75)2 10(1) 若(Y) 2(X) 10,用定点数表示 Y 值。(2) 设用 21 个二进制位表示浮点数,阶码用 5 位,其中阶符用 1 位,尾数用 16 位,其中符号用 1 位。阶码底为 2。写出阶码和尾数均用原码表示的 Y 的机器数。(3) 写出阶码和尾数均用反码表示 Y 的机器数。(4) 写出阶码和尾数均

7、用补码表示 Y 的机器数。解:128.75*2 -10(1)(128.75) 10=(10000000.11)2(128.75*2 -10=(0.001000000011)2Y=0.001000000011(2)设 ES,E,MS,M 各占 1,4,1,15 位.则原码:M=100000001100000,MS=0,E=0010,ES=1,Y 的机器数(原码)为 100100100000001100000(3)反码:111010100000001100000(4)补码:1111001000000011000003.9 设机器字长 16 位。定点表示时,数值 15 位,符号位 1 位;浮点表示时

8、,阶码 6 位,其中阶符 1 位;尾数 10 位,其中,数符 1 位;阶码底为 2,试求:(1) 定点原码整数表示时,最大正数,最小负数各是多少? (2) 定点原码小数表示时,最大正数,最小负数各是多少?(3) 浮点原码表示时,最大浮点数和最小浮点数各是多少?绝对值最小的呢(非 0)?估算表示的十进制值的有郊数字位数。解:字长 16,定点;符号 1,尾数 15;浮点: 阶 5,阶浮 1,数浮 1,数 9(1) 定点原码整数,最大正数 011=2 151,最小负数 111= (2 151)(绝对值最小为 1)(2) 定点原码小数,最大正数 0.11=12 15 ,最小负数 1.11=(12 15

9、 )(3) 浮点且均用原码(不一定规格化)最大浮点数 231*(12 9 )= 2151*(12 9 )= 2312 22最小浮点数2 31*(12 9 )=2 31+222绝对值最小浮点数 231*29 =240 有效数字位数(十进制): 29 =106 ,E=9lg2=9*0.3010,约为33.10 设机器字长 16 位,阶码 7 位,其中阶符 1 位;尾数 9 位,其中数符 1 位(阶码底为2) ,若阶和尾数均用补码表示,说明在尾数规格化和不规格化两种情况下,它所能表示的最大正数、非零最小正数,绝对值最小的负数各是哪几个数?写出机器数,并给出十进制值(不采用隐藏位) 。若阶码用移码,尾

10、数仍用补码,上述各值有变化吗?若有变化,请列出。解:设不用隐藏位.阶 6(阶浮 1),补码:规格化 非规格化最大正数 (12 8 )*263 同左最小正数 2 1 *264 28 *264 =272绝对值最大负数 1*2 63=2 63 同左绝对值最小负数 (2 1 + 28 )* 264 - 28 *264 =-272若用移码,上述各值无变化.但是,考虑到下溢处理,当阶为-64,就认为是下溢,也把尾数置成全 0,化为机器零不能表示阶为-64 的那些数.因此最小正数和绝对值最小负数变为:规格化 非规格化最小正数 2 -63 2-72 绝对值最小负数 (2 1 +28 )* 263 2 713.

11、11 按下列要求设计一个尽可能短的浮点数格式(阶的底取 2);(1) 数值范围为 1.01038(2) 有效数字为十进制七位(3) 0 的机器数为全 0解:10 38约 227阶取 8 位,含一个符号位。10 -7约 220 * 24 =224 尾数取 24 位,另加一个符号(数符)阶码采用移码,才能使 0 全为机器数。浮点数格式为0 7 8 9 323.12 写出下列各数的移码01101101,11001101,00010001,00011101答:分别为 1,01101101;0,00110011;0,11101111;1,000111013.13 用压缩十进制数串表示法表示下列十进制数:

12、66,78,254,396,1980,1992答:数字 +66 78 +254 396 +1980 1992前分隔串 2B3636 2D3739 2B323534 2D333936 2B31393830 2D31393932后嵌入串 3636 3728 323534 333936 31393830 31393972压缩十进制串 066C 078D 254C 396D 01980C 01992D3.14 已知 X 和 Y ,求出 8421 码和余三码的X 补 ,Y 补 ,Y 补 。(1) X=15,Y=8 (2) X=24, Y=16.解:先按二进制整数补码的概念求出各数的补数,再按 8421

13、码和余 3 码的特点求出各补码。补数: X Y Y(1)015 008 992(2)024 984 016阶 码 数浮 尾数(3)925 021 979(4)962 949 051补码:(为简化起见,符号位用 0 表示正号,1 表示负号)8421 码 余 3 码(1)X 0,0001,0101 0,0100,1000Y 0,0000,1000 0,0011,1011Y 1,1001,0010 1,1100,0101(2) X 0,0010,0100 0,0101,0111Y 1,1000,0100 1,1011,0111Y 0,0001,0110 0,0100,1001(3)X 1,0010,

14、0101 1,0101,1000Y 0,0010,0001 0,0101,0100Y 1,0111,1001 1,1010,1100(4)X 1,0110,0010 1,1001,0101Y 1,0100,1001 1,0111,1100Y 0,0101,0001 0,1000,01003.15 用补码运算计算下列各组数的和。(1) X=0.11001 Y=10111 (2) X=0.10010 Y=0.110003.16 用补码运算计算下列各组数的差。(1)X= 0.01111 Y=0.00101 (2) X=0.11011 Y=0.100103.17 已知下述X 移 ,Y移 ,用移码运算求

15、 X+Y移 和X Y 移 。注意指出溢出情况。(1)X 移 =01101111 Y移 =10101011(2)X 移 =11101111 Y移 =01010101X+Y移 用X 移 Y 补 实现。采用双符号位。移码高位符号位用了参与运算。若运算结果高位符号位变为 1,为溢出 10 表示上溢,11 表示下溢。下面给出的解中,都用补码运算实现X+Y 补 和XY 补 以进行验证。(1)X 移 01101111 Y移 =10101011解:Y 补 00101011 X+Y移 00 1101111 X+Y 补 00 1101111 00 0101011 00 0101011 01 0011010 01

16、0011010X+Y 移 1 0011010Y 补 1 1010101X Y移 00 1101111 X+Y补 =00 110111100 0101011 +00 010101100 1000100 01 0011010(2) X移 =1 1101111 Y移 =0 1010101解:Y 补 1 1010101X+Y移 01 1101111 X+Y 补 00 110111111 1010101 +11 1010101011000100 00 1000100Y 补 =0 0101011X Y移 01 1101111 XY 补 =00 110111100 0101011 +00 010101110

17、 0011010 01 0011010结果上溢 正溢出3.18 用原码一位乘计算 X=0.1101,Y=0.1011 的积 X*Y3.19 用补码一位乘计算 X=0.1010,Y=0.0110 的积 X*Y解:流程流程图见图。运算如下:X原 =0.1101,Y 原 =1.1011,XY 原 的符号为 1.考虑Y=0.1011, X=0.1101,则X 原 与Y 原 的积可用下述方法求得:部分积 乘数初始 00.0000 10111. 00.1101 +X00.1101 右移00.0110 11012. +00.1101 +X01.0011 右移00.1001 11103. 0.0100 111

18、1 只右移4. +00.1101 +X01.0001 右移00.1000 1111X.Y=0.10001111X.Y原=1.10001111X.Y= 0.100011113.20解:流程流程图见图。运算如下:X补=0.1010, Y补=1.1010, -Y补=1.0110部分积 乘数初始 00.0000 1101001. 00.0000 011010 只右移2. +11.0110 10, +-X补11.0110 右移11.1011 0011013. +00.1010 01, +X补00.0101 右移00.0010 1001104. +11.0110 10,+-X补11.1000 右移11.1

19、100 0100115. 11.1100 010011 11,且为最后一步,不移位X.Y补=1.11000100X.Y=0.001111003.213.22 X= -0.0100,Y=0.1000,用补码一位除,求 X/Y 的商。3.23 X补 0.10011,Y 1.01101,用补码两位乘运算,求乘积X*Y 补。3.24 用原码两位乘方法求 XY 。已知 X0.1011,Y=0.1101.3.25 设浮点数 X,Y,阶码(补码形式)和尾数(原码形式)如下:X:阶码 0001,尾数 0.1010;Y:阶码 1111,尾数 0.1001。设基数为 2。(1) 求 XY(阶码运算用补码,尾数运算

20、用补码)(2) 求 XY(阶码运算用移码,尾数运算用原码一位乘)(3) 求 X/Y(阶码运算用移码,尾数运算用原码加减交替法).解:E X补 EY补=1.111 MX补=11.1010 M Y补=0.1001(1) 求 X+Y(阶码,尾码均用补码).E=E X补+-E Y补=0.001+0.001=0.0100 E X补=0.001 是大阶; 1MY补右移两位 00.0010101M X+MY补=00.1010+00.0010101=00.1100101 2已规格化 3舍入后为 00.1100 4非溢出 5X+Y:E X+Y补=0.001,M X+Y补=0.1100(2)求 X/Y(阶码运算用

21、移码,尾数运算用原码一位乘)解:流程图见图。运算如下:X补 =0.10110,Y 补 =0.11111,-Y 补 =1.00001被除数/余数 商 (加上判溢出位,共 6 位)开始 00.10110 0 0 0 0 0 01. 11.00001 +-Y 补11.10111 0 0 0 0 0 0 不够减,商 0,不溢出11.01110 0 0 0 0 0 0 左移2. +00.11111 +Y 补00.01101 0 0 0 0 0 1 够减,商 100.11010 0 0 0 0 1 0 左移3. +11.00001 +-Y 补11.11011 0 0 0 0 1 0 不够减.商 011.1

22、0110 0 0 0 1 0 0 左移4. +00.11111 +-Y补00.10101 0 0 0 1 0 1 够减,商 101.01010 0 0 1 0 1 0 左移5. +11.00001 +-Y 补00.01011 0 0 1 0 1 1 够减,商 100.10110 0 1 0 1 1 0 左移6. +11.00001 +-Y补11.10111 0 1 0 1 1 0 不够减.商 0恢复原来余数, +Y 补+00.1111100.10110 商为 0.10110,余数为 0.10110 25 ,即 0.0000010110解:流程流程图见图。运算如下:X补 =0.10110,Y 补

23、 =0.11111,-Y 补 =1.00001被除数/余数 商 (被除数与除数据)开始 00.10110 0 0 0 0 0 01. 11.00001 11.10111 0 0 0 0 0 0 11.01110 0 0 0 0 0 0 左2 +00.11111 00.01101 0 0 0 0 0 1 商 100.11010 0 0 0 0 1 0 左3 +11.00001 11.11011 0 0 0 0 1 0 商 011.10110 0 0 0 1 0 0 左4. +00.11111 00.10101 0 0 0 1 0 1 商 101.01010 0 0 1 0 1 0 左移5. +1

24、1.00001 00.01011 0 0 1 0 1 1 商 100.10110 0 1 0 1 1 0 左移6. +11.00001 11.10111 0 1 0 1 1 0 商 0X/Y补 =0。10110,最低位置 1,为 0。10111EX移=1001,E Y补=1111 1EX+EY移=E X移+E Y补=1001+1111=100000 0000 0.1001 2+ 00.1010 加X00.1010 右移00.0101 0010000.0010 10010 右移00.0001 01001 右移+00.1010 +X00.101100.0101 10100 右移左规:尾数: 0.1

25、0110100 阶: 0111 3舍入、尾 0.1011 4X*Y:E XY移=0111 ;M XY原=0.1011。(2) 求 X/Y(阶码运算用移码,尾数运算用原码加减交替法)EX移 =1001,-E Y补=0001 1EX-EY移=1001+0001=1010Y补=0.1001 -Y补=1.0111 200.1010 00000 +-Y补+11.0111 00.0001 商 1 左移00.0010 00010+11.0111 +-Y补11.1001 商 0 左11.0010 00100+00.1001 +-Y补11.1011 商 0 左11.0110 100000+00.1001 +-Y

26、补11.1111 商 0 左11.1110 10000+00.1001 +-Y补00.0111 10001 (商 1,不再左移)右规 尾 0.100011, 阶 1011; 3舍入 尾 0.1001; 4不溢出 5X/Y: 阶(移)1011;尾(原) 0.10013.26 浮点加减乘除运算各在什么情况下会发生溢出?3.27 设某运算器只由一个加法器和 A,B 两个 D 型边沿寄存器组成,A,B 均可接收加法器输出,A 还可接收外部数据,如图。FLAGSCPF 加法器A A BCPA CPB二选一SDB 问:(1) 外部数据如何才能传送到 B?(2) 如何实现 AB A 和 AB B ?(3)

27、如何估算加法执行时间?(4) 若 A,B 均为锁存器,实现 AB A 和 AB 有何问题?答:(1) 分两步完成,第 1 步:外部数据送入 A。第 2 步:A 中数据经送 B。(2) ABA 的命令:A,BABA 的命令:A,B,CPB.(3) 从可知,ABA 比 ABB 多经过一个二选一线路,因此,ABA 的时间长,为:(A门延时)( 求和时间)(二选一时延)(A 寄存器建立时间)(4) 锁存器的特点,是在接收脉冲等于 1 的整个时间内,锁存器一直接收输入的数据,而边沿 D 型寄存器只大接收脉冲的上升沿瞬间接收输入。因此,设 B 为锁存器,若以 CPB1 的开始时刻,B 接收到输出为 AB;

28、则之后,B 的值送到,与A 的值相加,一定时间后, 输出为 A(AB ) ,送到 B 的输入端,被 B 接收,如引继续下去,到 CPB 变为 0 后,B 中的值就不是原来希望的 A 中的了,A 是锁存器的情况与此类似。3.28 今有一串行加法器,计算两个 n 位数据之和,已知相加两数存放在 A,B 寄 存器中,请画出能实现(A)( B) A 的逻辑图。图中只准用一个一位加法器,逐位进行计算。解:假设内存中的数从 D 时入运算器。可分下述在步实现:第一步:内存数 X 送 A。S1,CPA第二步:A 中 X 经送 B,同时内存数 Y 送 A。A,要 S1,CPA,CPB第三步:在中执行 XY, 建

29、立新的状态标志。A,B ,CPB(注:第 17 题中 ABA 和 ABB 的最后一步,一般也需 CPB 命令) 。 3.29 如果采用偶校验,下述两个数据的校验位的值是什么?(1)0101010 (2) 00110113.30 设有 16 个信息位,如果采用海明校验,至少需要设置多少个校验位?应放在哪些位置上?解(1) 2K1=N+K+1(N=6),查表 2.4,N=1126 时,K=6,即需 6 个校验位;(2) 校验位位置:共 N+K=16+6=22 位;设为 H21H0 ;数据位,设为 D15 D0 ;校验 6 位,设为 P5P0 ,则安排如下:H 21 20 19 18 17 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0P 5 4 3 2 1 0D15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 03.31 设有 8 位有效信息,试为之编制海明校验线路。说明编码方法,并分析所选方案具有怎样的检错与纠错能力。若 8 位信息为 01101101,海明码是何值?

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

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报