2015-04-15 40 views
0

尾數部爲什麼0.2D等於的二進制表示:0 0111110010011001100110011001101理解一個32位浮點爲十進制0.2

所以0.2D可以轉化爲0.0011b重複。你搬過來的基數,並獲得1.1×2^-3

符號位= 0

指數= 0111 1100

尾數爲10011001100110011001101爲什麼呢?

是不是尾數只是10000000000000000000000?

+0

沒有,因爲10000尾數......往往對應於2的冪,其中2/10是沒有的。 –

+0

@PascalCuoq,:實際上所有0的manitssa對應於2的冪(因爲隱藏的1位)。 10000 ...的尾數對應於2的冪的1.5倍(在這種情況下將是0.1875 - 3/16) –

回答

1

0.2十進制爲0.001100110011 ...二進制。當你在小數點前移動了一個1(因爲1實際上並未存儲在fp值中 - 它是「隱藏」的那個),所以你有2 -3· 1.1001100110011 ......現在,如果你真的想尾數正好23位存儲(如FP32),休息:

10011001100110011001100_110011001.. 

是在一個點只是1位之前,所以你一輪了,給

10011001100110011001101 

爲存儲尾數

相關問題