表示

2011-06-06 52 views
2

據我所知道的雙(IEEE標準)有一個位爲signus,爲尾數,基本54位和指數表示

公式得到雙倍的一些位:(−1)^s × c × b^q

也許我犯了一些錯誤,但主意在這裏。

我只是想知道我們如何知道在哪裏把這個公式放在小數點。 如果我拿號,我收到例如:

m = 3 
q = 4 
s = 2 
b = 2 
(-1)^2 * 4 * 2^3 = 32 

,但我不知道在哪裏放一些小數點..

這裏有什麼問題?

編輯:

也許q總是負的?

+0

該符號僅在一位 - 如何可以s = 2?正值爲0,負值爲1。 – etienne 2011-06-06 08:49:56

+0

確實是錯誤的 – Guillaume07 2011-06-12 10:52:05

回答

1

32 = 1 * 2^5,所以尾數= 1,指數= 5,符號= 0。編碼指數時,我們需要將1023加入指數,所以下面我們有1023 + 5 = 1028。此外,我們需要刪除數字1編碼尾數時,使1(無論)變爲(無論)

32爲64位雙IS 40400000億,或二進制的

十六進制表示:

0100 0000 0100 0000 0000 ... and zeros all the way down 
       ^======== start of mantissa (coded 0, interpreted 1.0) 
^===========^---------- exponent (coded 1028, interpreted 5) 
^----------------------- sign (0) 

要驗證結果訪問此page,在第一個字段中輸入32,然後單擊Rounded或Not Rounded按鈕(無關緊要)。

2

我想看看維基百科會有所幫助。

事情是,有一個「隱藏」'1.'在IEEE公式中。

每個IEEE 754數量必須normlized,這意味着已編碼的數的格式爲:

(-1)^(sign) * '1.' (mantissa) * 2^(exponent) 

因此,已編碼的1.32,不32.