我想測試一個數是正數還是負數,特別是在零的情況下。 IEEE-754允許-0.0
,它是用Python實現的。我如何測試Python中的負零?
唯一的解決方法,我可以被找到:
def test_sign(x):
return math.copysign(1, x) > 0
也許(可能需要更長的時間來運行):
def test_sign(x):
math.atan2(x, -1)
我不能在通常的圖書館找到了專用功能的任何地方,做我忽略了什麼?
編輯:(爲什麼這是有關)
這不是我目前的計劃了,但問這個問題時,我試圖超載根據參數值是否是正面或負面的功能。允許用戶傳遞負零將解決零值輸入的含義。我認爲這也可能是其他用例的普遍興趣。
可能重複(http://stackoverflow.com/questions/4083401/negative-zero-in-python) – Abhijit
不完全我想。 @quazgar要求測試標誌的方法,而不是問題。 –
您不應將-0視爲否定的,請參閱[此處](https://en.wikipedia.org/wiki/Signed_zero)以獲取一些解釋或參考文獻:[IEEE 754-1985](http:// www。 validlab.com/754R/standards/754.pdf)和[每個計算機科學家應該瞭解的浮點運算](http://www.validlab.com/goldberg/paper.pdf)。 – 2013-10-11 12:01:24