资源描述
第 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) (2) 723211*( ) 7211*( )(3)规格化最大正数:0 11111111 11111111111111111111111 723211( )规格化最小正数:0 00000000 10000000000000000000000 7122*规格化最大负数:1 00000000 01111111111111111111111 712322*( )规格化最小负数:1 11111111 00000000000000000000000 7211*( )规格化数的表示的数的范围为: 7 7 7 7211232122321[*, *][*,1)*]( ) ( ) (下面补充 IEEE 754 的规格化浮点数表示范围:IEEE 754 的尾数采用 1.M 的形式,原码表示;阶 e=E-127 (相对于一般表示法的 e=E-128,人为的加了 1) ;并且最大的阶(11111111 )和最小的阶(00000000)用去作为特殊用途。规格化最大正数:0 11111110 11111111111111111111111 72321*( )规格化最小正数:0 00000001 00000000000000000000000 721.0*规格化最大负数:1 00000001 00000000000000000000000721.0*规格化最小负数:1 11111110 11111111111111111111111 72321*( )规格化数的表示的数的范围为: 7 7 7 723212 22321[*,.0*][1.0*,)*] ( ) (4. 将下列十进制数表示成 IEEE754 标准的 32 位浮点规格化数。(1) 25/128 (2) -25/128(1)X=(25/128) 10=(11001. ×2 _7)2 =(0.0011001) 2 =1.1001×2 -3S=0 E=-3+127=124=01111100 M=1001IEEE754 标准的 32 位浮点规格化数为:0 01111100 10010000000000000000000(2)X=(-25/128) 10=(-11001.× 2 _7)2 =(-0.0011001) 2 =-(1.1001×2 -3)S=1 E=-3+127=124=01111100 M=1001IEEE754 标准的 32 位浮点规格化数为:1 01111100 100100000000000000000005. 已知 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=11110 6. 已知 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符号位单独运算: 01=1尾数部分算前求补器输出为 |x|=11011, |y|=111111 1 0 1 1 ×) 1 1 1 1 1 ----------------------------------1 1 0 1 11 1 0 1 1 1 1 0 1 1 1 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符号位单独运算: 01=11)余数左移的解法(恢复余数法):被除数 X 00.11000+[-|y|]补 11.00001----------------------余数为负 11.11001 →q0=0+[|y|]补 00.11111 恢复余数----------------------00.11000左移 01.10000+[-|y|]补 11.00001----------------------余数为正 00.10001 →q1=1左移 01.00010 +[-|y|]补 11.00001----------------------余数为正 00.00011 →q2=1 左移 00.00110 +[-|y|]补 11.00001----------------------余数为负 11.00111 →q3=0左移 10.01110+[|y|]补 00.11111----------------------余数为负 11.01101 →q4=0左移 10.11010+[|y|]补 00.11111----------------------余数为负 11.11001 →q5=0+[|y|]补 00.11111----------------------余数 00.11000故 [x÷y] 原 =1.11000 即 x÷y= -0.11000,余数为 0.110002)余数左移的解法(加减交替法):被除数 X 00.11000+[-|y|]补 11.00001----------------------余数为负 11.11001 →q0=0左移 11.10010+[|y|]补 00.11111----------------------余数为正 00.10001 →q1=1左移 11.00010 +[-|y|]补 11.00001----------------------余数为正 00.00011 →q2=1 左移 00.00110 +[-|y|]补 11.00001----------------------余数为负 11.00111 →q3=0左移 10.01110+[|y|]补 00.11111----------------------余数为负 11.01101 →q4=0左移 10.11010+[|y|]补 00.11111----------------------余数为负 11.11001 →q5=0+[|y|]补 00.11111----------------------余数 00.11000故 [x÷y] 原 =1.11000 即 x÷y= -0.11000,余数为 0.110003)除数右移的解法(课本例 23 的解法):被除数 X 0.1100000000+[-∣y∣] 补 1.00001-------------------------余数为负 1.1100100000 →q0=0+[|y|]补 0.011111-------------------------余数为正 0.0100010000 →q1=1+[-|y|]补 1.1100001------------------------余数为正 0.0000011000 →q2=1 +[-|y|]补 1.11100001------------------------余数为负 1.1110011100 →q3=0+[|y|]补 0.000011111------------------------余数为负 1.1111011010 →q4=0+[|y|]补 0.0000011111------------------------余数为负 1.1111111001 →q5=0+[|y|]补 0.0000011111-------------------------余数 0.0000011000故 [x÷y] 原 =1.11000 即 x÷y= -0.11000,余数= 0.0000011*2101=0.110009 设阶码 5 位(包含 2 位符号位), 尾数 9 位(包含 2 位符号位), 都为补码表示,采用 0 舍 1 入,计算 X+Y,X-Y:X=2-101×(-0.1001011) Y=2-011×0.0101011解:[x] 浮 =11011,11.0110101 [y]浮 =11101, 00.0101011[-y]浮 =11101,11.1010101① 0 操作数检查两数都非 0②对阶[ΔE]补 =[Ex]补 +[-Ey]补 =11011+00011=11110可见ΔE=-2将M x右移2位,[x] 浮 =11101,11.11 01101(01) ③尾数相加 相加 相减11.1101101(01) 11.1101101(01)+ 00.0101011 + 11.1010101------------------------ ------------------------00
展开阅读全文
温馨提示:
金锄头文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
相关搜索