2017-04-22 148 views
0

假設爲一個浮點數以下表示:

1符號位
4位指數
4位有效位數
偏置的7爲指數(IEEE中有沒有隱含1時)尋找最小和最大正浮點數,一個系統可以代表



鑑於這一信息,我如何才能找到最大和最小的正FLOA這個系統可以支持的點號(二進制)

我想要解決方案,但我對該方法感興趣。我如何使用這些信息來獲得我的結果?

+2

這裏沒有足夠的信息。這個虛構的格式是否支持infinities,nans,零?漸進式下溢?如何解釋有效位:最重要的有效位是否具有值「1」或值「0.5」? (對於IEEE 754,這是已知的,但這不是IEEE 754.)位字符串及其對應值的一些示例可能對此有所幫助。 –

回答

1

值由mantissa * base^(exponent - bias)

最高值計算將所有位真正使mantissa = exponent = 2^4 -1 = 15

把那一起,我們得到的最大:

15 * 2^(15 - 7) = 
15 * 2^8 = 
15 * 256 = 
3840 

最小的是哪裏mantissa = 0001exponent = 0000這樣:

1 * 2^(0 - 7) = 
2^-7 = 
0.0078125 
+0

你爲什麼不使用14 - 7,我認爲指數是從1 - 14? –

+1

@MutatingAlgorithm:如果你想限制指數的範圍從1到14,這完全取決於你(畢竟,這是一個虛構的格式),這就是你需要在問題中給出的信息。 IEEE 754格式爲infinities,nans,subnormals和zero保留最高和最低的指數,但是您不會告訴我們這種格式是否也可以這樣做(並且如果您沒有隱藏1位,那麼它就沒有多大意義保留最低指數)。事實上,這個問題沒有明確說明。 –

+0

這也是我想到的,但我又刪除了答案,因爲我們不知道是否像真實的float類型那樣,頂部位被認爲是'1',這意味着最大值會僅'480'。我們也不知道是否允許subnormals(這種格式不會有多大意義,但是,嘿,我們不知道*)。 –