假设有浮点数x= 2—5×0.0110011,y=23×(—0.1110010),阶码用4位补码表示,尾数(含符号位)用8位补码表示,则[x×y]浮为( )。

admin2019-12-10  16

问题 假设有浮点数x= 2—5×0.0110011,y=23×(—0.1110010),阶码用4位补码表示,尾数(含符号位)用8位补码表示,则[x×y]为(    )。

选项 A、2—2x(—0.1010001)
B、2—3x(—0.0011101)
C、2—3x(—0.1011011)
D、2—2x(—0.1011011)

答案C

解析 阶码与尾数补码均使用双符号位,则有
[Mx]=00.0110011, [My]=11.0001110
[Ex]=110011, [Ex]=00011
所以,[x]=11011,00.0110011,[y]=00011,11.0001110。
(1)阶码求和
[Ex]+[Ey]=11011+00011=11110,可得真值为—2。
(2)尾数的Booth乘法运算过程就不列出了,可以按照原码乘法算法实现,可得结果为
[Mx]x[My]=[00.0110011]x[11.0001110]
=[11.10100101001010]
(3)规格化处理
在讲解规格化数时,提到当使用补码表示尾数时,要使得1>|w|≥1/2,当此浮点数为正数时,和原码一样,最高位必须为1;当此浮点数为负数时,要使得1>|w|≥1/2,最高位必须为0,否则求反加1回到原码时就会造成|w|<1/2,故补码表示尾数规格化后的形式为0.1XXX…X或者1.0XXX…X。
而此时尾数为11.10100101001010,不是规格化数,所以需要左规一次,左规一次之后为11.01001010010100。此时阶码减1,变为11101,即一3。
(4)舍入处理
题干说了运算结果保留高8位(含符号位),所以保留0100101(还有1位符号位),但是最后还是要使用尾数低位字长的值处理舍入操作,尾数低位字长为0010100,最高位为0,直接舍掉。
综上分析,可得最后结果为[xxy]=11101,11.0100101=2—3x (—0.1011011)
转载请注明原文地址:https://kaotiyun.com/show/dz3i777K
0

相关试题推荐
随机试题
最新回复(0)