如何检查零是正数还是负数?
是否可以检查 float
是正零 (0.0) 还是负零 (-0.0)?
Is it possible to check if a float
is a positive zero (0.0) or a negative zero (-0.0)?
我已将 float
转换为 String
并检查第一个 char
是否为 '-'
,但是还有其他方法吗?
I've converted the float
to a String
and checked if the first char
is a '-'
, but are there any other ways?
推荐答案
是的,除以它.1/+0.0f
是 +Infinity
,但 1/-0.0f
是 -Infinity
.通过简单的比较很容易找出是哪一个,所以你得到:
Yes, divide by it. 1 / +0.0f
is +Infinity
, but 1 / -0.0f
is -Infinity
. It's easy to find out which one it is with a simple comparison, so you get:
if (1 / x > 0)
// +0 here
else
// -0 here
(这里假设 x
只能是两个零之一)
(this assumes that x
can only be one of the two zeroes)
相关文章