当前位置:文档之家› 第二章参考答案

第二章参考答案

第2章 参考答案2写出下列十进制数的原码、反码、补码和移码表示(用8位二进制数)。

如果是小数,则用定点小数表示;若为整数,则用定点整数表示。

其中MSB 是最高位(符号位),LSB 是最低位。

(1)-1 (2) -38/64解:(1)-1=(-0000001)2原码: 10000001反码: 11111110 吧 补码: 11111111移码: 01111111(2)-38/64=-0.59375=(-0.1001100)2或-38/64=-(32+4+2)*2-6=-(100110)*2-6=(-0.1001100)2原码: 1.1001100 反码: 1.0110011 补码: 1.0110100 移码: 0.0110100注:-1如果看成小数,那么只有补码和移码能表示得到,定点小数-1的补码为:1.0000000此例类似于8位定点整数的最小值-128补码为100000003 有一字长为32位的浮点数,符号位1位;阶码8位,用移码表示;尾数23位,用补码表示;基数为2.请写出:(1)最大数的二进制表示,(2)最小数的二进制表示,(3)规格化数所能表示的数的范围。

解:(题目没有指定格式的情况下,用一般表示法做)(1)最大数的二进制表示:0 11111111 11111111111111111111111(2)最小数的二进制表示:1 11111111 00000000000000000000000(1) )(231221*27--- (2) )(1*2127--(3)规格化最大正数:0 11111111 11111111111111111111111)(231221*27---规格化最小正数:0 00000000 10000000000000000000000122*27-- 规格化最大负数:1 00000000 01111111111111111111111 )(231222*27---+- 规格化最小负数:1 11111111 00000000000000000000000 )(1*2127--规格化数的表示的数的范围为: )]21*2,2*2[]22*2,1*2[231212*********---------+--()()( 4. 将下列十进制数表示成IEEE754标准的32位浮点规格化数。

-27/64解:X =(-27/64)10=(-11011.×2 _6)2 =(-0.011011)2 =-(1.1011×2 -2) S=1 E=-2+127=125=01111101 M=1011IEEE754标准的32位浮点规格化数为:1 01111101 101100000000000000000005. 已知X 和Y , 用变形补码计算X+Y , 同时指出运算结果是否溢出。

(1) x=11011 y=00011解: [X]补=0011011, [Y]补=0000011[X+Y]补=[X]补+ [Y]补[X]补 0011011+ [Y]补 0000011------------------------[X+Y]补 0011110符号位为00,结果无溢出X+Y =111106. 已知X 和Y , 用变形补码计算X-Y , 同时指出运算结果是否溢出。

(1) x=11011 y=-11111解:[X]补=0011011, [Y]补=1100001,[-Y]补=0011111[X+Y]补=[X]补+ [-Y]补[X]补0011011+ [-Y]补0011111------------------------[X-Y]补0111010符号位为01,结果溢出X-Y=110107. 用原码阵列乘法器计算X×Y。

(1)X=11011 Y= -11111解:[x]补=0 11011 [y]补=100001符号位单独运算:0⊕1=1尾数部分算前求补器输出为|x|=11011, |y|=111111 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-----------------------------------------1 1 0 1 0 0 0 1 0 1乘积符号位1,算后求补器输出为0010111011,最后补码乘积值为:(算后求补器输出不带符号位,详见课本36页图2.7;该图中符号位输入到算后求补器是为了作为控制信号,详见课本35页图2.6中的控制性号线E)【x×y】补= 100101110118.用原码阵列除法器计算X÷Y。

(1)X=11000 Y= -11111解:X和Y先都乘以一个比例因子2-101X=0.11000 ,Y= -0.11111[∣x∣]补=0.11000,[∣y∣]补=0.11111,[-∣y∣]补=1.00001符号位单独运算:0⊕1=11)余数左移的解法(恢复余数法):被除数 X 00.11000+[-|y|]补11.00001----------------------余数为负 11.11001 →q0=0余数为负,商上0+[|y|]补 00.11111 恢复余数----------------------00.11000左移 01.10000+[-|y|]补11.00001----------------------余数为正 00.10001 →q1=1余数为正,商上1左移 01.00010+[-|y|]补 11.00001----------------------余数为正 00.00011 →q2=1 余数为正,商上1左移 00.00110+[-|y|]补 11.00001----------------------余数为负 11.00111 →q3=0余数为负,商上0+[|y|]补 00.11111 恢复余数----------------------00.00110左移 00.01100+[-|y|]补11.00001----------------------余数为负 11.01101 →q4=0余数为负,商上0+[|y|]补 00.11111 恢复余数----------------------00.01100左移 00.11000+[-|y|]补11.00001----------------------余数为负 11.11001 →q5=0余数为负,商上0+[|y|]补 00.11111----------------------余数 00.11000故[x÷y]原=1.11000 即x÷y= -0.11000,余数=0.11000*2-101*2101=0.110002)余数左移的解法(加减交替法):被除数 X 00.11000+[-|y|]补11.00001----------------------余数为负 11.11001 →q0=0余数为负,商上0左移 11.10010+[|y|]补 00.11111----------------------余数为正 00.10001 →q1=1 余数为正,商上1左移 11.00010+[-|y|]补 11.00001----------------------余数为正 00.00011 →q2=1 余数为正,商上1左移 00.00110+[-|y|]补 11.00001----------------------余数为负 11.00111 →q3=0余数为负,商上0左移 10.01110+[|y|]补 00.11111----------------------余数为负 11.01101 →q4=0余数为负,商上0左移 10.11010+[|y|]补 00.11111----------------------余数为负 11.11001 →q5=0余数为负,商上0+[|y|]补 00.11111----------------------余数 00.11000故[x÷y]原=1.11000 即x÷y= -0.11000,余数=0.11000*2-101*2101 =0.11000 3)除数右移的解法(加减交替法):被除数 X 0.1100000000+[-∣y∣]补 1.00001-------------------------余数为负 1.1100100000 →q0=0余数为负,商上0+[|y|]补 0.011111-------------------------余数为正 0.010******* →q1=1余数为正,商上1+[-|y|]补 1.1100001------------------------余数为正 0.0000011000 →q2=1余数为正,商上1+[-|y|]补 1.11100001------------------------余数为负 1.1110011100 →q3=0余数为负,商上0+[|y|]补 0.000011111------------------------余数为负 1.1111011010 →q4=0余数为负,商上0+[|y|]补 0.0000011111------------------------余数为负 1.1111111001 →q5=0余数为负,商上0+[|y|]补 0.0000011111-------------------------余数 0.0000011000故[x÷y]原=1.11000 即x÷y= -0.11000,余数= 0.0000011*2101=0.11000 9 设阶码5位(包含2位符号位), 尾数9位(包含2位符号位), 都为补码表示,采用0舍1入,计算X+Y,X-Y:X=2-101×(-0.1001011) Y=2-011×0.0101011解:[x]=11011,11.0110101浮=11101,00.0101011[y]浮[-y]=11101,11.1010101浮① 0操作数检查两数都非0②对阶[ΔE]补=[Ex]补+[-Ey]补=11011+00011=11110可见ΔE=-2将Mx 右移2位,[x]浮=11101,11.11 01101(01)③尾数相加相加相减11.1101101(01) 11.1101101(01) + 00.0101011 + 11.1010101------------------------ ------------------------00.0011000(01) 11.1000010(01)④结果规格化[x+y]浮=11101,00.0011000(01)左规[x+y]浮=11011,00.1100001[x-y]浮=11101, 11.1000010(01)左规[x-y]浮=11100, 11.0000100(1)⑤舍入处理(用0舍1入)得[x+y]浮不需舍入处理[x-y]浮=11100, 11.0000101⑥判溢出X+Y和X-Y的阶符都是11,都没溢出最终的结果为:x+y=2-101×(0.1100001)x-y=2-100×(-0.1111011)。

相关主题