float在計算機的存儲方式


1、float類型數字在計算機中用4個字節(32位)存儲。

遵循IEEE-754格式標准:
一個浮點數由3部分組成:符號位s(1位)和、指數e(8位)、底數m(23位)

 

2、格式
SEEE EEEE EMMM MMMM MMMM MMMM MMMM MMMM

S:符號位
E:指數,十進制指數加上127后的值得二進制數據
M:底數

 

3、符號位

指底數的符號,可正可負。

 

4、指數

占用8bit的二進制數,可表示數值范圍為0-255。

但是指數可正可負,所以,IEEE規定,此處算出的次方必須減去127才是真正的指數。

所以,float類型的指數可從-126到128

 

5、底數

實際是占用24bit的一個值,但是最高位始終為1,所以,最高位省去不存儲,在存儲中占23bit
科學計數法。

 

6、舉例:
17.625在內存中的存儲

首先要把17.625換算成二進制:10001.101

在將10001.101右移,直到小數點前只剩1位:
1.0001101 * 2^4  因為右移動了四位

底數:因為小數點前必為1,所以IEEE規定只記錄小數點后的就好。所以,此處的底數為:0001101
指數:實際為4,必須加上127(轉出的時候,減去127),所以為131。也就是10000011
符號:整數,所以是0


綜上所述,17.625在內存中的存儲格式是:
01000001 10001101 00000000 00000000

 

 

 

歡迎關注個人公眾號,可直接掃描以下二維碼或微信搜索“阿毛聊技術”。


免責聲明!

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



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