0
尾數部爲什麼0.2D等於的二進制表示:0 0111110010011001100110011001101理解一個32位浮點爲十進制0.2
所以0.2D可以轉化爲0.0011b重複。你搬過來的基數,並獲得1.1×2^-3
符號位= 0
指數= 0111 1100
尾數爲10011001100110011001101爲什麼呢?
是不是尾數只是10000000000000000000000?
尾數部爲什麼0.2D等於的二進制表示:0 0111110010011001100110011001101理解一個32位浮點爲十進制0.2
所以0.2D可以轉化爲0.0011b重複。你搬過來的基數,並獲得1.1×2^-3
符號位= 0
指數= 0111 1100
尾數爲10011001100110011001101爲什麼呢?
是不是尾數只是10000000000000000000000?
0.2十進制爲0.001100110011 ...二進制。當你在小數點前移動了一個1
(因爲1
實際上並未存儲在fp值中 - 它是「隱藏」的那個),所以你有2 -3· 1.1001100110011 ......現在,如果你真的想尾數正好23位存儲(如FP32),休息:
10011001100110011001100_110011001..
是在一個點只是1位之前,所以你一輪了,給
10011001100110011001101
爲存儲尾數
沒有,因爲10000尾數......往往對應於2的冪,其中2/10是沒有的。 –
@PascalCuoq,:實際上所有0的manitssa對應於2的冪(因爲隱藏的1位)。 10000 ...的尾數對應於2的冪的1.5倍(在這種情況下將是0.1875 - 3/16) –