float 型別在記憶體中的結構

2021-05-27 00:22:17 字數 489 閱讀 6420

float 在32位機上是 4個位元組的。

它的結構是這樣子的:

1位符號位 |  8 位指數字  |  23尾數字 

其中指數是指以2 為底的指數, 因為指數可能為負數,比如十進位制小數0.025,就是二進位制小數0.001 (0*1/2 + 0*1/4 +1*1/8),  相當於1 *2 的-3次方。

所以規定指數字要加上127.

eg: float f=10.5;

f是正數,所以符號為是0, 10.5 相當於二進位制的 1010.1 即 1.0101 *exp(2,3).  所以指數部分為 127+3=130.

尾數部分為0101 (二進位制1.0101的尾數部分)。

所以10.5的二進位制形式為     | 0 | 10000010| 0101 0000 0000 0000 0000 000| 

符號     指數                           尾數

換算成十六進製制的數為  0x41280000

float型別在記憶體中的儲存

首先還是看一道題目 include stdafx.h include include using namespace std int tmain int argc,tchar argv 125.5在記憶體中的表示為 125.5轉化為二進位制 1111101.1,變為整數字為1,位1.1111011 ...

float在記憶體中的儲存

以下內容來自於 1.十進位制轉二進位制 1.1整數 11 2 5 餘 1 5 2 2 餘 1 2 2 1 餘 0 1 2 0 餘 1 0結束 11二進位制表示為 從下往上 1011 1.2小數 0.9 2 1.8 取整數部分 1 0.8 1.8的小數部分 2 1.6 取整數部分 1 0.6 2 1....

float型別資料在記憶體中如何儲存的?

float型別數字在計算機中用4個位元組儲存。遵循ieee 754格式標準 乙個浮點數有2部分組成 底數m和指數e 底數部分 使用二進位制數來表示此浮點數的實際值 指數部分 占用8bit的二進位制數,可表示數值範圍為0 255 但是指數可正可負,所以,ieee規定,此處算出的次方必須減去127才是真...