將-0.15625表示成機器內的32個位元組的形式.
第一步:將-0.15625表示成二進位制形式: (-0.15625)(十進位制數)=(-0.00101)(二進位制形式);
第二步:將二進位制形式的浮點數轉化為規格化的形式:(小數點向右移動3個二進位制位可以得到)
-0.00101=-1.01*2^(-3) 同樣,產生了三項:
符號位:該數為負數,故第31位為1,佔乙個二進位制位;
階碼:指數為-3,故其階碼為127+(-3)=124=01111100,佔從第30到第23共8個二進位制位;
尾數為小數點後的01,當然後面要補21個0;
所以,-0.15625在記憶體中的實際表示形式為:
1 01111100 01000000000000000000000
由於小端所以:
00000000
00000000
00100000
10111110
如果 printf("%f",1);
則記憶體中:
00000001
00000000
00000000
00000000
所以輸出值的二進位制是1.0000000 00000000 00000001*2^(-127)
基本上就是0了。
float資料在記憶體中的儲存
浮點型變數在計算機記憶體中占用4位元組 byte 即32 bit。遵循ieee 754格式標準。乙個浮點數由2部分組成 底數m 和 指數e。mantissa 2exponent 注意,公式中的mantissa 和 exponent使用二進位制表示 底數部分 使用 進製數來表示此浮點數的實際值。指數部...
float資料在記憶體中的儲存形式
float型別數字在計算機中用4個位元組儲存。遵循ieee 754格式標準 乙個浮點數有2部分組成 底數m和指數e 底數部分 使用二進位制數來表示此浮點數的實際值 指數部分 占用8bit的二進位制數,可表示數值範圍為0 255 但是指數可正可負,所以,ieee規定,此處算出的次方必須減去127才是真...
float資料在記憶體中式怎麼儲存的
乙個浮點數有2部分組成 底數m和指數e 底數部分 使用二進位制數來表示此浮點數的實際值 指數部分 占用8bit的二進位制數,可表示數值範圍為0 255 但是指數可正可負,所以,ieee規定,此處算出的次方必須減去127才是真正的指數。所以,float型別的指數可從 126到128 底數部分實際是占用...