首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JVM缺乏对NaN和scala Double.NaN的支持

JVM缺乏对NaN和scala Double.NaN的支持
EN

Stack Overflow用户
提问于 2013-03-14 23:00:48
回答 1查看 302关注 0票数 3

我最近在Java Virtual Machine Specification中看到,JVM不支持NaN值,也不支持发出溢出信号。

我特别指的是jvms 7的2.8.1节,JVM和IEEE 754支持的浮点算术之间的主要区别,项目符号指出:

代码语言:javascript
复制
"The floating-point operations of the Java Virtual Machine do not throw
exceptions, trap, or otherwise signal the IEEE 754 exceptional conditions of
invalid operation, division by zero, overflow, underflow, or inexact. The Java
Virtual Machine has no signaling NaN value."

我是不是理解错了?在Scala (它依赖于字节码中的Java原语来表示数字类型)和Java的Double对象中,有一个NaN和一个正/负的无穷大值(在Java语言中记录了相应的二进制值)。如果JVM不支持它们,如何有效地处理它们呢?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-14 23:08:05

您引用的文本说没有信号NaN,并不是说没有NaN。

重要的是,Java中的浮点操作会生成预期的值(包括NaNs和无穷大),但不会抛出异常。

票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15412766

复制
相关文章

相似问题

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