IEEE754 32位浮點數表示范圍


6.1浮點數的數值范圍

根據上面的探討,浮點數可以表示-∞到+∞,這只是一種特殊情況,顯然不是我們想要的數值范圍。

以32位單精度浮點數為例,階碼E由8位表示,取值范圍為0-255,去除0和255這兩種特殊情況,那么指數e的取值范圍就是1-127=-126到254-127=127。

(1)最大正數 
因此單精度浮點數最大正數值的符號位S=0,階碼E=254,指數e=254-127=127,尾數M=111 1111 1111 1111 1111 1111,其機器碼為:0 11111110 111 1111 1111 1111 1111 1111。

那么最大正數值: 

PosMax=(1)S×1.M×2e=+(1.11111111111111111111111)×21273.402823e+38


這是一個很大的數。

 

(2)最小正數 
最小正數符號位S=0,階碼E=1,指數e=1-127=-126,尾數M=0,其機器碼為0 00000001 000 0000 0000 0000 0000 0000。

那么最小正數為: 

PosMin=(1)S×1.M×2e=+(1.0)×21261.175494e38

 

這是一個相當小的數。幾乎可以近似等於0。當階碼E=0,指數為-127時,IEEE754就是這么規定1.0×2127近似為0的,事實上,它並不等於0。

(3)最大負數 
最大負數符號位S=1,階碼E=1,指數e=1-127==-126,尾數M=0,機器碼與最小正數的符號位相反,其他均相同,為:1 00000001 000 0000 0000 0000 0000 0000。

最大負數等於: 

NegMax=(1)S×1.M×2e=(1.0)×21261.175494e38

 

(4)最小負數 
符號位S=0,階碼E=254,指數e=254-127=127,尾數M=111 1111 1111 1111 1111 1111,其機器碼為:1 11111110 111 1111 1111 1111 1111 1111。

計算得: 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM