如何检查零是正数还是负数?
2022-08-31 12:35:16
是否可以检查 a 是正零 (0.0) 还是负零 (-0.0)?float
我已经将 转换为 a 并检查了第一个是否为 a ,但是还有其他方法吗?float
String
char
'-'
是否可以检查 a 是正零 (0.0) 还是负零 (-0.0)?float
我已经将 转换为 a 并检查了第一个是否为 a ,但是还有其他方法吗?float
String
char
'-'
是的,除以它。 是 ,但 is 是 。通过简单的比较很容易找出它是哪一个,所以你得到:1 / +0.0f
+Infinity
1 / -0.0f
-Infinity
if (1 / x > 0)
// +0 here
else
// -0 here
(这假设只能是两个零之一)x
您可以使用 将其转换为 a 并查看位模式:Float.floatToIntBits
int
float f = -0.0f;
if (Float.floatToIntBits(f) == 0x80000000) {
System.out.println("Negative zero");
}