、两浮点数为x=(-5/8)*2-5 , y =(7/8)*2-4 ,求x-y=?(尾数取8位,阶码取5位(阶符和数符各占2位,采用补码表示法))
时间: 2024-06-07 12:07:57 浏览: 136
首先将x、y转换为二进制:
x = -0.1010 * 2^(-4)
y = 0.1110 * 2^(-3)
接下来,将x、y的阶码和尾数分别表示出来:
x的阶码是-4,用补码表示为 10000
x的尾数是0.1010
y的阶码是-3,用补码表示为 10001
y的尾数是0.1110
接下来,将x、y的阶码和尾数组合成规格化数:
x的规格化数为 -1.0100 * 2^(3)
y的规格化数为 1.1100 * 2^(2)
由于x、y的阶码不同,需要将它们的阶码对齐,即将阶码较小的数的尾数乘以2的阶码差次幂。这里需要将y的尾数左移1位,即乘以2,得到:
x的规格化数为 -1.0100 * 2^(3)
y的规格化数为 0.1110 * 2^(3)
接下来,将x、y相减,得到差值:
-1.0100 * 2^(3) - 0.1110 * 2^(3) = -10.0100 * 2^(2)
将差值表示成科学计数法:
-10.0100 * 2^(2) = -1.001000 * 2^(3)
因此,x-y=-1.001000 * 2^(3)。将其转换为十进制,得到-9/8。
阅读全文