2015-11-04 127 views
0

我有我們說的1e10和1e11範圍內的數字。爲了準確性而進行任何計算和/或比較之前,將這些數字歸一化爲[0; 1]會更好嗎?我想知道,因爲我聽說在0到1之間有從1到無窮大的可表示數字。但是我找不到這個來源。使用浮點數時,在0和1之間進行歸一化是否好?

+1

縮放:將原始指數接近0以降低上溢/下溢的風險是有意義的。翻譯:有時確實有助於將事情集中在0左右(例如在-1和1之間),但是您希望確保不會在翻譯中損失更多,而不是之後獲勝。 - >問題太籠統了。 –

回答

0

浮點數以浮點形式存儲在內存中,即科學記數法。即1.23456789e10,1.23456789e-101.23456789都將保持相同的有效位數。

確實,在數學上存在0到1之間的無限數(這將是Aleph-1?),但這與討論無關,因爲浮點變量只能保存許多不同的值。例如,一個4字節的浮點變量有32位,所以不可能做出超過2^32個不同的浮點值。

3

您無法提高現有浮點數的精度。沒有可以通過歸一化恢復的「隱藏」精度,相反,由於舍入誤差,歸一化更可能降低數字的精度。也就是說,有些數學運算可能會產生更精確的結果,如果輸入是以某種方式首先進行歸一化的,但具體取決於您正在執行的操作。

相關問題