我有一種情況,如果我將期望分別看到+ Inf和-Inf作爲結果,可以合理地劃分0.0或-0.0。似乎Python喜歡在任何一種情況下投擲一個如何讓Python除以-0.0和0.0分別導致-Inf和Inf?
ZeroDivisionError: float division by zero
。很明顯,我想我可以簡單地用0.0來測試這個測試。但是,我無法找到區分+0.0和-0.0的方法。 (僅供參考,通過輸入或通過常用計算(例如-1.0 * 0.0)可以輕鬆獲得-0.0)。
IEEE處理這一切都很好,但Python似乎很難隱藏深思熟慮的IEEE行爲。事實上,0.0 == -0.0實際上是IEEE的一個特性,所以Python的行爲嚴重破壞了事情。它在C,Java,Tcl甚至JavaScript中都能很好地工作。
對此提出建議?
+1,絕對比我的解決方案更清潔。 – Blender 2013-04-26 00:14:52
非常好 - 不會這麼想; +1)+1 – 2013-04-26 00:17:47