两浮点数为x=-582-5 y =782-4 求x-y=尾数取8位阶码取5位阶符和数符各占2位采用补码表示法
首先将x和y化成二进制科学计数法的形式:
x = (-0.625) * 2^(-5) y = (0.875) * 2^(-3)
接下来需要将x和y的尾数和阶码分别表示成8位和5位的二进制数。
对于x的尾数,首先将0.625化成二进制数,得到0.101。然后将小数点左移3位,得到10100000。由于x的指数是负数,所以需要将指数的补码表示出来。-5的补码是1011,因此x的阶码为1011。将阶码和尾数拼接起来,得到x的二进制表示为:
x = 1 011 01000 000
同样地,对于y的尾数,将0.875化成二进制数,得到0.111。将小数点左移3位,得到11100000。由于y的指数也是负数,所以需要将指数的补码表示出来。-4的补码是1100,因此y的阶码为1100。将阶码和尾数拼接起来,得到y的二进制表示为:
y = 0 1100 11100 000
接下来需要将x和y的阶码对齐,因为它们的指数不同。x的指数是-5,y的指数是-3,因此需要将y的阶码左移2位,得到:
y = 0 1011 10000 000
现在x和y的阶码相同了,可以进行减法运算。将y的尾数取反,得到:
y' = 1 0111 00100 000
将x和y'相加,得到:
x + y' = 1 1001 01100 000
由于x的符号为1,y'的符号为0,因此x-y的符号为1。将x和y'相减,得到:
x - y = 1 1001 01100 000
需要将结果转换成十进制,得到:
x - y = (-1.015625) * 2^(-2) ≈ -0.25390625
因此,x-y约等于-0.25390625
原文地址: https://www.cveoy.top/t/topic/eFDO 著作权归作者所有。请勿转载和采集!