NaN = "NaN" 代表“不是数字”。如果浮点运算具有一些导致运算产生一些未定义结果的输入参数,则会产生“Nan”。例如,0.0 除以 0.0 在算术上是未定义的。取负数的平方根也是未定义的。
我试图在 Java 中使用 NaN 常量
public class NaNDemo {
public static void main(String s[]) {
double x = Double.NaN;
double y = Double.NaN;
System.out.println((x == y));
System.out.println("x=" + x);
System.out.println("y=" + y);
}
}
输出
false
x=NaN
y=NaN
那么为什么 x==y 是假的呢?