2014-10-08 31 views
0

浮點格式(IEEE)有32位。該符號的第一位,之後8位爲偏置指數,之後爲尾數的另外23位。在這個尾數是第一個1(始終是1)總是隱藏,這導致我的問題:數字0在二進制浮點格式中看起來如何?

數字0在這種格式看起來如何?因爲如果指數0的數字將始終爲1. 加上尾數總是最小值1右邊?如果他們只在尾數爲零,它將計爲'1.0'...

我真的不明白這一點。

回答

3

Wikipedia告訴你:

0000 0000 = 0 
8000 0000 = −0 

除了普通的浮點值,用指數和mantisse還有其他不規則的數字像零,無窮一堆和一堆的NaN。還有subnormal numbers;其中低於2^-127的數字用固定的而不是浮動指數近似。

其實,零是一個正常次正常數。 Subnormals編碼爲(−1)signbits×2^−126 × 0.significandbits,指數全零。如果有效位爲零,則結果爲(+/-)零。

+0

這意味着0就是這樣定義的,並且沒有一種算術方法來獲得正確的解決方案? – bnntd 2014-10-08 07:44:07

+0

正如你已經注意到的那樣,沒有'x'其中'1.0 * 2^x'永遠爲零,所以不,沒有「算術」的方法來達到0. – 2014-10-08 08:25:53

+1

據我所知,零是一個*正常*低於正常數量。它們是'(-1)signbits×2-126×0.significandbits',如果有效位爲零,則結果爲(+/-)零。 – Mathias 2014-10-09 08:36:21

1

零值由偏置指數有效數均爲0表示。

該符號可以是01,分別代表+0.0-0.0

例如,負零看起來像this

enter image description here

3

IEEE 754二進制浮點數與偏置指數零不是歸一化,並且沒有隱含的一個位在二進制點之前尾數。零有效值意味着0.0 * 2^x,而不是1.0 * 2^x。

相關問題