JVM之浮點數(float)表示

1. 浮點數的組成:符號位、指數位、尾數位。blog

 1.1 符號位: 佔1位,表示正負數;二進制

    1.2 指數位: 佔8位;float

    1.3 尾數位: 佔23位。im

 

2.  浮點數的表示:img

    2.1 取值: sflag * m * 2(e-127)co

        2.1.1 sflag :符號位。 s = 0, sflag = 1; s = 1, sflag = -1浮點數

        2.1.2     m :   尾數位。實際佔用23位,可是根據e的取值,有24位。當e全爲0時,尾數位附加0,不然附加1數字

        2.1.3     e  :指數位。ps

    2.2 具體解析:(以-5爲例)

        2.2.1 內部形式:1  10000001  01000000000000000000000

        2.2.1 符號位:s = 1  得出 sflag = -1;

        2.2.2 指數位: 二進制爲10000001,得出十進制 e = 129;

        2.2.3 尾數位: 二進制爲01000000000000000000000, 得出: m = 20 + 2-2  = 1.25;

        2.2.4 最終取值: sflag * m * 2(e-127)  =  -1 * 1.25 * 2(129 - 127) = -5

 

3. float的特殊數字

相關文章
相關標籤/搜索