IEEE754浮点数即其加法

参考:《计算机组成与设计(原书第5版)》

            中国大学MOOC,国防科技大学的《计算机原理》课程

浮点数加法步骤

• A=Ma * 2^a,B=Mb * 2^b, Ea≥Eb:
1. 求阶差 :Ea−Eb
2. 对阶 :Mb * 2^−(Ea−Eb)
3. 尾数相加 :Ma + Mb * 2^−(Ea−Eb)
4. 结果规格化并判断溢出 :A+B = (Ma +Mb * 2^−(Ea−Eb))  * 2^a

5. 舍入 :如果尾数比规定位数长,则舍入。

对阶:目的是使两个操作数的阶码相等(对齐小数点)。

规则: 小阶向大阶看齐,阶小的数的尾数右移,右移位数等于两个阶码差的绝对值。

浮点数加法溢出

1. 阶码上溢:超过了阶码可以表示的最大允许值,一般将其认为是+∞和-∞。

2. 阶码下溢:超过了阶码可能表示的最小允许值,一般将其认为是0。

3. 尾数上溢:两个尾数相加 / 减,最高有效位产生了进位。这种情况不一定浮点数溢出,可以尾数右移,阶码加一来重新对齐。

4. 尾数下溢:在将尾数右移时,尾数的最低有效位从尾数域右端移出去,丢失了有效信息。

例子:

猜你喜欢

转载自blog.csdn.net/szuhuanggang/article/details/83340024