资源预览内容
第1页 / 共13页
第2页 / 共13页
第3页 / 共13页
第4页 / 共13页
第5页 / 共13页
第6页 / 共13页
第7页 / 共13页
第8页 / 共13页
第9页 / 共13页
第10页 / 共13页
亲,该文档总共13页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
第二章 运算方法和运算器 习题参考答案1. 写出下列各数的原码、反码、补码、移码表示(用8位二进制数)。其中MSB是最高位(又是符号位)LSB是最低位。如果是小数,小数点在MSB之后;如果是整数,小数点在LSB之后。(1) -35 (2) 128 (3) -127 ( 4) -1解:(1)先把十进制数-35/64写成二进制小数:(注意位数为8位) x=(-35)10=(-100011)2x原=10100011 x反=11011100 x补=11011101 (2) 128写成二进制小数:x=(128)10=(10000000)2x原=10000000 x反=10000000 x补=10000000 (3) 先把十进制数-127写成二进制小数:x=(-127)10=(-1111111)2 x原=11111111 x反=10000000 x补=10000001 (4) 令Y=-1=-0000001BY原=10000001 Y反=11111110 Y补=11111111 2. 设X补= a7,a6,a5a0 , 其中ai取0或1,若要x0.5,求a0,a1,a2,a6 的取值。解:若a7= 0,则:x0, 所以: 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 0111111111111111111111011111111 1000000000000000000000(4)000000000 00000000000000000000001000000000 111111111111111111111114. 将下列十进制数表示成浮点规格化数,阶码3位,用补码表示;尾数9位,用补码表示。(1) 27/64(2) -27/64解:(1)x=27/64=11011B2-6=0.011011B=1.1011B2-2S=0 M=0.10110000000000000000000 E=e+127=-2+127=125=01111101x浮= 0011 1110 1 101 1000 0000 0000 0000 0000=(3ED80000)16(2) x=-27/64= -11011B2-6= -0.011011B= -1.1011B2-2S=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 10010100005. 已知X和Y, 用变形补码计算X+Y, 同时指出运算结果是否溢出。 (1)X=11011 Y=00011解: 先写出x和y的变形补码再计算它们的和x补=00 11011 y补=00 00011x+y补=x补+y补=00 11011+00 00011=00 11110无溢出。 (2)X= 11011 Y= -10101解: 先写出x和y的变形补码再计算它们的和x补=00 11011 y补=11 01011x+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 11111x+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 11111x-y补=x补+-y补=00 11011+00 11111=01 11010运算结果双符号不相等 为正溢出(2) X=10111 Y=11011解:先写出x和y的变形补码,再计算它们的差x补=00 10111 y补=00 11011 -y补=11 00101x-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 10011x-y补=x补+-y补=00 11011+00 10011=01 01110运算结果双符号为01不相等 为正溢出7. 用原码阵列乘法器、补码阵列乘法器分别计算XY。(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 11 1 0 1 11 1 0 1 11 1 0 1 11 1 0 1 1 0.1 1 0 1 0 0 0 1 0 1 XY原 =1.1101000101XY = - 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 11 1 1 1 10 0 0 0 01 1 1 1 11 1 1 1 1 0. 1 1 0 1 0 0 0 1 0 1 X Y原 = 0.1101000101XY = 0.11010001018 用原码阵列除法器计算 XY。(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被除数X0.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.112-101x/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.01110r=0.000000001=0.121000x/y原=1.011109. 设阶为3位(不包括阶符位), 尾数为6位(不包括数符位), 阶码、尾数均用补码表示, 完成下列取值的X+Y,X-Y运算:(1)x=2-0110.100101 y=2-010(-0.011110)解: 对阶:因x阶码小,所以调整x指数向y看齐x=2-0100.0100101 尾数相加减 x+y=2-010(0.0100101-0.011110) =2-010 (-0.0010111) x-y=2-0100.1100001 规格化处理 x+y=2-010 (-0.0010111)=2-101 (-1.011100) x-y=2-0100.1100001=2-0111.100001 溢出检查-126x+y的指数=-5,x-y的指数=-3127 没有溢出 (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
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号