首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在Java语言中,如果在操作中使用Double.NaN会发生什么?

在Java语言中,如果在操作中使用Double.NaN会发生什么?
EN

Stack Overflow用户
提问于 2008-12-12 14:49:17
回答 3查看 7.5K关注 0票数 7

我曾经编译过错误地尝试添加数字和Double.NaN的代码。我想知道它是不是抛出了一个不会被捕获的异常?有谁知道这种情况是如何处理的吗?

谢谢。

EN

回答 3

Stack Overflow用户

发布于 2008-12-12 14:52:08

向NaN添加一个数字将得到NaN。预计它不会导致异常。我知道这符合IEEE754标准。

票数 7
EN

Stack Overflow用户

发布于 2008-12-12 15:09:24

要回答Steve B的问题:

如果你有无限的存储空间,POSITIVE_INFINITY是你能存储的最大正数。没有这种奢侈,我们必须使用像1.0 / 0.0这样的结构,它做得很好。NEGATIVE_INFINITY也是如此,但是最大的负数。

NaN通常被定义为0.0 / 0.0,因为没有像0/0这样的数字,所以完全符合NaN的条件。

票数 1
EN

Stack Overflow用户

发布于 2008-12-12 14:55:42

代码语言:javascript
复制
public static void main(String args[])
{
    Double d = Double.NaN + 1.0;
    System.out.println(d);
}

打印Double.Nan。有人能解释一下源代码的实现吗?

代码语言:javascript
复制
  public static final double POSITIVE_INFINITY = 1.0 / 0.0;
  public static final double NEGATIVE_INFINITY = -1.0 / 0.0;
  public static final double NaN = 0.0d / 0.0;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/362958

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档