如何检查零是正数还是负数?
是否可以检查 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)
相关文章