为什么IEE754标准中,32位浮点数的指数转换为阶码时需要加上数值为127的偏移量?
生活随笔
收集整理的這篇文章主要介紹了
为什么IEE754标准中,32位浮点数的指数转换为阶码时需要加上数值为127的偏移量?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
首先階碼為啥用移碼表示
為了簡化浮點數的比較,故我們使用移碼來表示階碼位,這樣就不至于在比較時去考慮兩次符號位了。
其次IEEE754中有如下規定:
1)當階碼E為全0且尾數M也為全0時,表示的真值為零(結合符號位S為0或1,有正零和負零之分);
2)當階碼E為全1且尾數M為全0時,表示的真值為無窮大(結合符號位S為0或1,有+∞和-∞之分)
我們原來指數部分如果用一個帶有符號為的8位數表示的話,應該是從1111 1111~0111 1111即-127~+127但是,有幾個特殊的數需要去除掉,因為他們被作為邊界條件被定義了,即0000 0000和1111 1111我們同時把這兩個數從上邊兩組中去除,得到下面的結果:0~255變為1~254了-127~+127變為-126~-0并上+1~+127了;即([-126,+127])那么我們就可以得到[1,254]變為[-126,+127],減去127就好了,然后我們就可以獲得真正E的值了這個減去的127就是我們的偏移量了。
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的为什么IEE754标准中,32位浮点数的指数转换为阶码时需要加上数值为127的偏移量?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 浮点加减运算之0舍1入法与恒置1法
- 下一篇: Javaweb基础——Servlet