java.lang.Math
文檔說的許多功能,如Math.pow
:java.lang.Math是否在「ULP內」獨佔或包含?
計算結果必須是內準確結果的1 ulp。
但我一直沒能找到這是什麼意思。它是獨佔的還是包容性的?換句話說,如果精確的結果可以用double表示,那麼返回的值是否包含精確的結果,或者它可能仍然是1 ULP?
例如,我們可以依靠Math.pow(3.0, 2.0) == 9.0
嗎?我知道使用平等比較對於雙打來說幾乎總是一個壞主意,所以我主要是出於好奇心,並且當他們做那樣的事時能夠指出人們的錯誤(或讓他們放心)。
哦,我不知道讀書時我是多麼懷念那部分。無論如何,這完全回答了這個問題。我已經編輯了一下。 –