資料在記憶體中的儲存方式

2021-08-28 05:37:35 字數 864 閱讀 1026

例如,將十進位制178.125表示成機器內的32個位元組的二進位制形式.

將128.125表示成二進位制數:(178.125)(十進位制數)=(10110010.001)(二進位制形式);

將二進位制形式的浮點實數轉化為規格化的形式:(小數點向左移動7個二進位制位可以得到) 10110010.001=1.0110010001*2^7

符號位:該數為正數,故第31位為0,佔乙個二進位制位.

階碼:指數為7,故其階碼為127+7=134=(10000110)(二進位制),佔從第30到第23共8個二進位制位.

尾數: 為小數點後的部分, 即0110010001.因為尾數共23個二進位制位,在後面補13個0,即01100100010000000000000

178.125在記憶體中的實際表示方式為:

0 10000110 01100100010000000000000

將-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

資料在記憶體中的儲存方式

之前在面試的時候有遇到乙個面試題 記憶體中的顯示 輸入出其實這就是little endian 小端序列 的儲存形式 比方說我有乙個0xa5b1的乙個資料。如果當前的機器是小端序列那麼在 記憶體中高位位址 存放的就是a5 example 0x40000001 記憶體中低位位址 存放的就是b1 exam...

float,double在記憶體中的儲存方式

將17.625換算成 float型。首先,將17.625換算成二進位制位 10001.101 0.625 0.5 0.125,0.5即 1 2,0.125即 1 8 如果不會將小數部分轉換成二進位制,請參考其他書籍。再將 10001.101 向右移,直到小數點前只剩一位 成了 1.0001101 x...

小數在記憶體中的儲存方式

小數的儲存跟其他型別資料的儲存方式有很大的不同,我們通常用科學技術法來表示很大或者很小的數,即用乙個尾數 mantissa 乙個基數 base 乙個指數 exponent 以及乙個表示正負的符號來表達實數。比如123.456 用十進位制科學計數法可以表達為 1.23456 10 2 其中1.2345...