IEEE 754標準定義負零的平方根爲負零。這種選擇很容易合理化,但其他選擇(例如將sqrt(-0.0)
定義爲NaN
)也可以合理化,並且更易於在硬件中實現。如果擔心程序員會寫if (x >= 0.0) then sqrt(x) else 0.0
,並被NaN
這個表達式咬到x
爲-0.0
,那麼sqrt(-0.0)
可能被定義爲+0.0
(實際上,對於這個特定的表達式,結果會更加一致)。通過將sqrt(-0.0)定義爲-0.0來簡化數值算法?
是否有一個數值算法,特別是sqrt(-0.0)
定義爲-0.0
簡化了算法本身的邏輯?
[維基百科文章](http://en.wikipedia.org/wiki/Negative_zero)體面。你可能應該在數學中問這個問題。 –