IEEE-754浮點數標准


定義

  IEEE754標准規定小數的表示形式為V=(-1)S*M*2E

  S為符號位

  M為尾數

  E為階碼

  一個單獨的符號位編碼S,符號位為0,表示正數,符號位為1表示負數。

  k位的階碼字段exp=ek-1.....e 編碼階碼E。

  n位小數字段frac=fn-1......f0 編碼尾數M,但是編碼出來的值也依賴於階碼字段的值是否等於0。

倆種浮點數

  IEEE754定義了倆種浮點數,分為32位單精度浮點數,64位雙精度浮點數。

  32位精度浮點數使用 1 位表示符號位,8位表示階碼,23位表示尾數。

  64位精度浮點數使用 1 位表示符號位,11位表示階碼,52位表示尾數。

4種表現形式

  IEEE754將小數表示為4種形式,規格化小數,非規格化小數,無窮,NAN,以下使用單精度來說明

規格化小數 s 非0 非 255 f
非規格化小數 s 0 f
無窮 s 11111111 0
NAN s 11111111 f

具體表示

  IEEE754 定義的小數表示為 V=(-1)S*M*2E   只要計算出M和E即可。

  規格化小數

    階碼計算方式:E=e-Bias,e=ek-1.....e0  ,Bias=2k-1 -1。

    小數計算方式:小數字段等於0.fn-1......f0,尾數M=1+f,即尾數M默認以1開始。

  非規格化小數

    階碼計算方式:E=1-Bias,e=0,Bias=2k-1 -1。

    小數計算方式:小數字段等於0.fn-1......f0。

  特殊值

    階碼全為1的是特殊值,當小數域全0時是無窮,s=1,表示負無窮,s=0表示正無窮。

    階碼全為1,小數域不是全0時,表示NAN,即非數字,比如 無窮 - 無窮,根號負數。

    以下使用8位表示浮點數。S=1,K=4,M=3,Bias=2k-1-1=7

描述 位表示           指數
e E 2E
                      小數
f M
                                   值   
2E x M       V   十進制

0

最小的非規格化數

 

 

 

最大非規格化數

 

0 0000 000

0 0000 001

0 0000 010

0 0000 011

.......

0 0000 111   

                   0         -6       1/64

                   0         -6       1/64

                   0         -6       1/64

                   0         -6       1/64

 

                   0   -6       1/64

 

         0/8        0/8

         1/8        1/8

         2/8        2/8

         3/8        3/8

 

         7/8        7/8

                       0/512        0            0

                       1/512        1/512     0.001953 

                       2/512        1/256     0.003906

                       3/512        3/512     0.005859

 

                       7/512         7/512    0.013672

最小的規格化數

 

 

 

 

 

 

 

 

 

0 0001 000

0 0001 001

....

0 0110 110

0 0110 111

0 0111 000

0 0111 001

0 0111 010

.......

0 1110 110

                   1         -6       1/64

        1   -6    1/64

 

        6   -1    1/2

        6   -1    1/2

        7    0    1

        7    0    1

        7    0    1

 

       14     7    128

         0/8         1/8

     1/8    9/8

 

    6/8     14/8  

    7/8   15/8 

    0      8/8

    1/8     9/8

    2/8   10/8 

 

    6/8   14/8

                         8/512        8/512  0.015625    

            9/512     9/512   0.017578

 

         448/512    448/512  0.875  

         480/512  480/512  0.9375

         512/512  512/512  1

         576/512  576/512  1.125

         640/512  640/512  1.25

 

                  224    224    224      

最大規格化數

0 1110 111        14   7   128     7/8   15/8          240    240    240 

無窮大

0 1111 000           

 

 

  

 


免責聲明!

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



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