收藏 分销(赏)

第二章习题参考答案(5版).doc

上传人:快乐****生活 文档编号:2668352 上传时间:2024-06-04 格式:DOC 页数:13 大小:122.55KB 下载积分:8 金币
下载 相关 举报
第二章习题参考答案(5版).doc_第1页
第1页 / 共13页
第二章习题参考答案(5版).doc_第2页
第2页 / 共13页


点击查看更多>>
资源描述
第二章 运算方法和运算器 习题参考答案 1. 写出下列各数的原码、反码、补码、移码表示(用8位二进制数)。其中MSB是最高位(又是符号位)LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。 (1) -35 (2) 128 (3) -127 ( 4) -1 解: (1)先把十进制数-35/64写成二进制小数:(注意位数为8位)    x=(-35)10=(-100011)2 [x]原=10100011 [x]反=11011100  [x]补=11011101            (2) 128写成二进制小数:     x=(128)10=(10000000)2 [x]原=10000000  [x]反=10000000   [x]补=10000000         (3) 先把十进制数-127写成二进制小数:     x=(-127)10=(-1111111)2   [x]原=11111111  [x]反=10000000 [x]补=10000001   (4) 令Y=-1=-0000001B    [Y]原=10000001   [Y]反=11111110     [Y]补=11111111          2. 设[X]补= a7,a6,a5…a0 , 其中ai取0或1,若要x>-0.5,求a0,a1,a2,…,a6 的取值。 解:若a7= 0,则:x>0, 所以: a1= 0, a2,…,a6任意; 若a7= 1,则:a1= 1, a2,…,a6 不全为0。 3. 有一个字长为32位的浮点数,符号位1位,阶码8位,用移码表示;尾数23位(包括1位尾符)用补码表示,基数R=2。请写出: (1) 最大数的二进制表示; (2) 最小数的二进制表示; (3) 规格化数所能表示的数的范围; 解: (1) 111111111 0 111111111111111111111   (2)111111111 1000000000000000000000   (3)111111111 0111111111111111111111 ~011111111 1000000000000000000000   (4)000000000 00000000000000000000001 ~000000000 11111111111111111111111 4. 将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。 (1) 27/64 (2) -27/64 解:(1)x=27/64=11011B×2-6=0.011011B=1.1011B×2-2     S=0 M=0.10110000000000000000000 E=e+127=-2+127=125=01111101 [x]浮= 0011 1110 1 101 1000 0000 0000 0000 0000 =(3ED80000)16 (2) x=-27/64= -11011B×2-6= -0.011011B= -1.1011B×2-2     S=1 M=0.10110000000000000000000 E=e+127=-2+127=125=01111101 [x]浮= 1011 1110 1 101 1000 0000 0000 0000 0000 =(BED80000)16 浮点规格化数 : [x]浮= 1111 1001010000 5. 已知X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。 (1)X=11011 Y=00011 解: 先写出x和y的变形补码再计算它们的和    [x]补=00 11011 [y]补=00 00011    [x+y]补=[x]补+[y]补=00 11011+00 00011=00 11110    无溢出。 (2)X= 11011 Y= -10101 解: 先写出x和y的变形补码再计算它们的和    [x]补=00 11011 [y]补=11 01011    [x+y]补=[x]补+[y]补=00 11011+11 01011=00 00110    ∴ x+y=00 00110B 无溢出。 (3)X= -10110 Y= -00001 解: 先写出x和y的变形补码再计算它们的和   [x]补=11 01010 [y]补=11 11111   [x+y]补=[x]补+[y]补=11.01010+11.11111=11 01001   ∴ x+y= - 10111 无溢出 6. 已知X和Y, 用变形补码计算X-Y, 同时指出运算结果是否溢出。 (1) X=11011 Y= -11111 解:先写出x和y的变形补码,再计算它们的差    [x]补=00 11011 [y]补=11 00001 [-y]补=00 11111   [x-y]补=[x]补+[-y]补=00 11011+00 11111=01 11010   ∵运算结果双符号不相等 ∴ 为正溢出 (2) X=10111 Y=11011 解:先写出x和y的变形补码,再计算它们的差   [x]补=00 10111 [y]补=00 11011 [-y]补=11 00101   [x-y]补=00 10111+11 00101=11 11100   ∴ x-y= -1 无溢出 (3) X=0.11011 Y=-10011 解:先写出x和y的变形补码,再计算它们的差   [x]补=00 11011 [y]补=11 01101 [-y]补=00 10011   [x-y]补=[x]补+[-y]补=00 11011+00 10011=01 01110 ∵运算结果双符号为01不相等 ∴ 为正溢出 7. 用原码阵列乘法器、补码阵列乘法器分别计算X×Y。 (1)X= 11011 Y= -11111 (2)X=-11111 Y=-11011 解:(1)用原码阵列乘法器计算 x,y都取绝对值,符号单独处理 [X]原=0.11011 [Y]原=1.11111 积的符号为 1 1 0 1 1 × 1 1 1 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 1 1 0 1 1 0.1 1 0 1 0 0 0 1 0 1 [X×Y]原 =1.1101000101 X×Y = - 0.1101000101 (2)X=-11111 Y=-11011 解:用原码阵列乘法器计算 [X]原=1 11111 [Y]原=1 11011 积的符号为 1 1 1 1 1 × 1 1 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 1 1 1 1 0. 1 1 0 1 0 0 0 1 0 1 [X ×Y]原 = 0.1101000101 X×Y = 0.1101000101 8. 用原码阵列除法器计算 X÷Y。 (1)X=0.11000 Y= -0.11111 (2)X=-0.01011 Y= 0.11001 解:(1)[x]原=[x]补=0.11000  [|y|]补=0.11111  [-∣y∣]补=1.00001     被除数X 0.1100000000      [-|y|]补 1.00001    余数为负 1.110010 →q0=0    +[|y|]补 0.011111    余数为正 0.0100010 →q1=1 [-|y|]补 1.1100001 余数为正 0.00000110 →q2=1 [-|y|]补 1.11100001 余数为负 1.111001110 →q3=0 +[|y|] 0. 000011111 余数为负 1. 1111011010 →q4=0 +[|y|] 0. 0000011111   1. 1111111001 →q5=0 商 |q|=q0.q1q2q3q4q5=0.11000 余数r=0.00000110=0.11×2-101 [x/y]原=1.11000 (2)X=-0.01011 Y= 0.11001 解:(1)[|x|]原=[|x|]补=0.01011  [|y|]补=0.11001 [-|y|]补=1.00111    被除数X  0.0101100000    [-|y|]补 1.00111    余数为负 1.100100 →q0=0    +[|y|]补 0.011001   余数为负 1.1111010 →q1=0 [|y|]补 0.0011001 余数为正 0.00100110 →q2=1 [-|y|]补 1.11100111 余数为正 0.000011010 →q3=1 +[-|y|] 1.111100111 余数为负 0. 0000000010 →q4=1 +[|y|] 1. 1111100111   1. 1111101001 →q5=0 |q|=q0.q1q2q3q4q5=0.01110 r=0.000000001=0.1×21000 [x/y]原=1.01110 9. 设阶为3位((不包括阶符位), 尾数为6位(不包括数符位), 阶码、尾数均用补码表示, 完成下列取值的[X+Y],[X-Y]运算: (1)x=2-011×0.100101 y=2-010×(-0.011110) 解: ① 对阶:因x阶码小,所以调整x指数向y看齐 x=2-010×0.0100101 ② 尾数相加减    x+y=2-010×(0.0100101-0.011110) =2-010× (-0.0010111) x-y=2-010×0.1100001 ③ 规格化处理 x+y=2-010× (-0.0010111)=2-101× (-1.011100) x-y=2-010×0.1100001=2-011×1.100001 ④ 溢出检查 -126≤x+y的指数=-5,x-y的指数=-3≤127 没有溢出 (2) x=2-101×(-0.010110) y=2-100×(0.010110) 解: ① 对阶:因x阶码小,所以调整x指数向y看齐 x=2-100×(-0.0010110) ② 尾数相加减    x+y=2-100×(-0.0010110+0.010110) =2-100× (0.001011) x-y=2-100×(-0.100001) ③ 规格化处理 X+y=2-111× (1.011000) X-y=2-101×(-1.000010) ④ 溢出检查 -126≤x+y的指数=-7,x-y的指数=-5≤127 没有溢出 10. 设数的阶码为3位,尾数为6位,用浮点运算方法,计算下列各式 (1) 解: x=2010×1.10100, y=2011×(-1.00100) ①阶码求和 ex+ey =010+011=101 (+5) 移码表示为Ex+Ey=127+5=132 ②尾数相乘,可以采用原码阵列乘法实现(用绝对值) Mx ×My=1.10100 ×1.00100 =1.1101010000 ③规格化处理与溢出检查 Mx ×My= -1.1101010000(已是规格化数) -126≤指数5≤127,故没溢出 ④舍入处理(保留6位小数) Mx ×My =1.110101 ⑤确定积的符号,异号相乘为负 [x×y]浮=2101×(-1.110101) (2) 解: x=2-100×1.101000, y=2010×(1.111000) Mx = 1.101000 My= 1.111000 ①阶码求差 ex-ey =-100-010 = -110 (-6) 移码Ex-Ey=127+(-6)=121 ②尾数相除,可以采用无符号阵列除法实现 Mx/My=1.101000 1.111000 =0. 110111 ③规格化处理及溢出判断---尾数左移1位,阶码减1 ex-ey = -111 (-7) -126≤指数-7≤127,故没溢出 [Mx/My]= 1.101110 ④舍入处理(保留6位小数) Mx ×My = 1.101110 ⑤确定商的符号,同号相除为正 [xy]浮=2-111×1.101110 11. 某加法器进位链小组信号为C4C3C2C1 ,低位来的信号为C0 ,请分别按下述两种方式写出C4C3C2C1的逻辑表达式。 (1) 串行进位方式 (2) 并行进位方式 解 :根据一位全加器 FA 对于串行方式有 其中 其中 其中 其中 对于并行进位方式: C1 = G1 + P1 C0 C2 = G2 + P2 G1 + P2 P1 C0 C3 = G3 + P3 G2 + P3 P2 G1 + P3 P2 P1 C0 C4 = G4 + P4 G3 + P4 P3 G2 + P4 P3 P2 G1 + P4 P3 P2 P1 C0 13
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服