浮點型在計算機內的儲存方式

2022-09-14 11:36:09 字數 961 閱讀 9707

* 步驟1:整數轉二進位制 不停/2的做法,將每個餘數依次相加

* 步驟2:小數轉二進位制 不同*2 <1 計0, >1 計1,用(x-1)繼續往後做*2操作

* 步驟3:整數部分和小數部分二進位制粘合起來,注意小數點不要去除

* 步驟5:將2進製變成1.***x * 2^n 次方的形式,整數+小數一共24位,小數點不計位數,對應ieee 754-1985標準中的小數佔位,(第24位可能要採用前面的捨入原則), 得到指數

* 步驟6:利用指數-標準偏差值(float為127)得到偏差指數

* 步驟7:符號位+偏差指數的二進位制(8位)+小數部分二進位制 就是該float的儲存形式的原碼,儲存即是原碼轉為補碼儲存。

* 維基百科中float的例子的操作: 0.15625得到原碼

* 整數部分0,得到二進位制也就是0

* 小數部分:

* 0.15625 * 2 = 0.3125 0

* 0.3125 * 2 = 0.625 0

* 0.625 * 2 = 1.25 1

* 0.25 * 2 = 0.5 0

* 0.5 * 2 = 1.0 1

* 0 * 2 = 0 0

* ......

* 粘合得到二進位制為:0.00101000000000000000000.....

* 轉換1.xx * 2^n 形式,並擷取長度為24: 1.0100000 00000000 00000000 * 2 ^ -3

* 得到偏差指數為127 -3 = 124

* 124轉二進位制 8位儲存為:00011111

* 填充符號位 + 偏移指數 + 小數儲存部分 得到原碼: 0 00011111 0100000 00000000 00000000

計算機內部浮點型資料的儲存

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

整型與浮點型資料在計算機記憶體中的儲存

1 型別的歸類 整型家族 char unsigned char signed char 對於char來說,標準裡並不預設其為有符號還是無符號的,這個結果取決於編譯器 short signed short int unsigned short int int signed int unsigned i...

浮點型在計算機中的儲存表示

之前一直不明白float在計算機中是如何儲存的,今天下決心 float型別資料 4byte 1bit 符號位 23bti 尾數字 8bit 指數字,範圍 127 128 double型別資料 8byte 1bit 符號位 52bti 尾數字 11bit 指數字,範圍 1023 1024 乙個浮點數可...