gpt4 book ai didi

java - NaN 等于 0 吗?

转载 作者:行者123 更新时间:2023-12-01 21:51:28 24 4
gpt4 key购买 nike

我尝试过这个:

int x = (int)Math.sqrt(-1); //Math.sqrt(-1) returns NaN
System.out.println(x);

输出是:

0

This Wikipedia article说:

Converting NaN to an integer type, or performing an integer operation whose floating-point equivalent would produce NaN, usually throws an exception. In Java, such operations throw instances of java.lang.ArithmeticException

但我的代码运行良好,没有任何异常,输出为 0 .

有什么理由吗?

最佳答案

不,NaN 不等于任何东西,包括它本身。

将 NaN 转换为 int 时,JVM 将向零舍入。这解释了您观察到的 0 的输出。

关于java - NaN 等于 0 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35130962/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com