1. 程式人生 > >IEEE754浮點數即其加法

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. 尾數下溢:在將尾數右移時,尾數的最低有效位從尾數域右端移出去,丟失了有效資訊。

 

 

例子: