浮點數在記憶體中的儲存方式為:符號位+指數+尾數
符號位:表示浮點數是正數還是負數。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。此方法...