如何检查零是正还是负?
问题内容:
是否可以检查a float
是正零(0.0)还是负零(-0.0)?
我已经将转换为float
,String
并检查第一个char
是否为'-'
,但是还有其他方法吗?
问题答案:
是的,除以它。1 / +0.0f
是+Infinity
,但是1 / -0.0f
是-Infinity
。通过简单的比较很容易找出是哪一个,因此您得到:
if (1 / x > 0)
// +0 here
else
// -0 here
(这假定x
只能是两个零之一)