float數據在內存中的存儲方法

參考文檔:IEEE754 浮點數
參考文檔:百度文科
參考文檔:資料

浮點型變量在計算機內存中占用4字節(Byte),即32-bit。遵循IEEE-754格式標準。一個浮點數由2部分組成:尾數m(或稱底數)和指數e。
±mantissa × 2exponent
(注意,公式中的mantissa 和 exponent使用二進制表示)

  • 尾數部分 使用二進制數來表示此浮點數的實際值。尾數部分實際是占用24-bit的一個值,由于其最高位始終是1 ,所以最高位省去不存儲,23-bit的位置實際表示了24-bit的二進制數字。
  • 指數部分 占用8-bit的二進制數,可表示數值范圍為0-255。 但是指數應可正可負,所以IEEE規定,此處算出的次方須減去127才是真正的指數。所以float的指數可從 -127到127(階碼不能達到1111 1111,IEEE規定,當編譯器遇到階碼為0XFF時,即調用溢出指令)。
  • 符號位 用來指示浮點數的正負,當符號位是1時,為負數,符號位是0時,為正數。
float數據在內存中的表示

現在來計算float類型數據表示的最大值。

符號位 0 (代表正數)
指數位 1111 1110 (十進制值為254,代表階碼127)
尾數為 1111 1111 1111 1111 1111 111(轉換后的尾數位1.11111111111111111111111)

實際代表的值 = + 轉換后的尾數位 右移 階碼位
即1.11111111111111111111111右移128位 這個值為
340282346638528859811704183484516925440
或約為3.4028235E+38

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容