问答题 设有浮点数,x=2 5 ×(+9/16),y=2 3 ×(-13/16),阶码用4位(含1位符号位)补码表示,尾数用5位(含1位符号位)补码表示,求真值x/y=?要求写出完整的浮点运算步骤,并要求直接用补码加减交替法完成尾数除法运算。
【正确答案】
【答案解析】由x=25×(+9/16)=2101×(+0.1001)2,y=23×(-13/16)=2011×(-0.1101)2
得: [x] =0101 01001 [y] =0011 1 0011
(1)阶码运算:
因为尾数中0.1001<0.1101,即被除数小于除数,所以不用调整被除数x的阶码。阶码相减得到结果的阶码:[j x ] -[j y ] =0101-0011=0101+1101=0010
(2)用补码加减交替法完成尾数除法运算:
设A=0.1001,B=-0.1101则补码表示A =0.1001,B =1.0011, [-B] =0.1101
被除数(余数)
说明
0.1001 0.0000
+B 1.0011 A和B异号,X +Y
1.1100 1 余数与B同号商上1
1.1000 1 左移一位
+[-B 0.1101 减去除数
0.0101 1.0 余数与B异号商上0
0.1010 1.0 左移一位
+B 1.0011 加上除数
1.1101 1.01 余数与B同号商上1
1.1010 1.01 左移一位
+[-B 0.1101 减去除数
0.0111 1.010 余数与B异号商上0
0.1110 1.0101 左移一位,末位商恒置1
所以
[A/B] =1.0101
(3)规格化:
尾数相除结果已为规格化数,所以[x/y] =0010 10101,即x/y=22×(-11/16)