在 Java 中,如果在运算中使用 Double.NaN 会发生什么?
我编译的代码错误地尝试添加数字和 Double.NaN。 我想知道它是否抛出了一个未被捕获的异常? 有谁知道这种情况如何处理?
谢谢。
I have compiled code that erroneously tries to add a number and Double.NaN. I'm wondering if it's throwing an exception that's not getting caught? Does anyone know how that situation is handled?
Thanks.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
将一个数字与 NaN 相加得到 NaN。 预计不会导致异常。 据我所知,这符合 IEEE 754。
Adding a number to NaN gives NaN. It isn't expected to cause an exception. I understand that this conforms to IEEE 754.
回答 Steve B 的问题:
POSITIVE_INFINITY 是如果您有无限的存储空间,您可以存储的最大正数。 如果没有这种奢侈,我们就必须使用像 1.0 / 0.0 这样的结构,它做得很好。
NEGATIVE_INFINITY 也是如此,但最大的负数。
NaN 通常定义为 0.0 / 0.0,因为没有 0/0 这样的数字完全符合 NaN。
To answer Steve B's question:
POSITIVE_INFINITY is the largest postive number that you can store if you have unlimited storage space. Without this luxury we have to use a construction like 1.0 / 0.0 which does a fine job.
Same goes for NEGATIVE_INFINITY but then the largest negative number.
NaN is normally defined as 0.0 / 0.0 because there is no such number as 0/0 so that perfectly qualifies for a NaN.
打印 Double.Nan。 谁能解释一下源码实现?
prints Double.Nan. Can anyone explain the source implementation?