浮點數在記憶體中儲存方式

2021-08-29 02:53:18 字數 851 閱讀 8655

浮點數在記憶體中的儲存方式為:符號位+指數+尾數

符號位:表示浮點數是正數還是負數。0表示正數,1表示負數

指數:指數部分。類似於科學技術法中的m*10^n中的n,只不過這裡是以2為底數而不是10。需要注意的是,這部分中是以2^7-1即127,也即01111111代表2^0,轉換時需要根據127作偏移調整。

尾數:基數部分。浮點數具體數值的實際表示。

float型變數占用32bit,即4個byte的記憶體空間,float和double型別的資料在計算機內部表示法相同,但由於所佔空間大小不同,其分別能表示的數值範圍和精度不同

例如8.25在記憶體中的表示:

1、整數部分:1000

小數部分

0.25*2=0.5     ---  0

0.5*2  =1        ---  1

所以小數部分為.01

8.25的二進位制表示為1000.01  -----> 1.00001*(2^3)

符號位:0

指數:127(固定偏移)+3 = 130  ----> 10000010

小數:00001

所以合起來在記憶體中表示為:

0 10000010 00001000000000000000000

即:0x41040000

如果想考驗自己是否充分理解這節內容的話,可以隨便寫乙個浮點數嘗試轉換。通過 浮點二進位制轉換工具可以驗證答案。

浮點數在記憶體的儲存方式

浮點數在記憶體的儲存方式 任何資料在記憶體中都是以二進位制的形式儲存的,例如乙個short型資料1156,其二進位制表示形式為00000100 10000100。則在intel cpu架構的系統中,存放方式為 10000100 低位址單元 00000100 高位址單元 因為intel cpu的架構是...

浮點數在記憶體中的儲存方式

浮點數儲存的位元組格式如下 位址 0 1 2 3 內容 seee eeee emmm mmmm mmmm mmmm mmmm mmmm 這裡s 代表符號位,1是負,0是正 e 偏移127的冪,二進位制階碼 eeeeeeee 127。m 24位的尾數儲存在23位中,只儲存23位,最高位固定為1。此方法...

浮點數在記憶體中的儲存方式

浮點數儲存的位元組格式如下 位址 0 1 2 3 內容 seee eeee emmm mmmm mmmm mmmm mmmm mmmm 這裡s 代表符號位,1是負,0是正 e 偏移127的冪,二進位制階碼 eeeeeeee 127。m 24位的尾數儲存在23位中,只儲存23位,最高位固定為1。此方法...