我一直有很多NaN值在很长的程序中传播的问题,我不得不照顾。经过多次单步调试后,我能够发现在某个点有一个变量,其值由调试器显示为Infinity
,还有另一个变量被这个无穷大变量分割,结果为NaN。这种行为是否正确,还是应该导致0?所有变量都是double
变量。在Java中是由无穷大NaN划分的吗?
回答
在java中NaN划分无穷大吗?
简短的回答是号
Java语言规范(JLS 15.17.2)表示: “通过在符号零的无边结果的有限值的司”
它还提到这是“由IEEE 754算法规则确定的”。 无穷大除法给出NaN的唯一情况是当你将无穷大除以无穷大时。 (同一基准以上)。
如果你(真的)见不同,那么在你的Java “平台” 的错误。但这是一件非同寻常的事情,所以你需要在调用“bug”之前检查你的证据和方法真的很彻底。
1 - ...最有可能在浮点硬件!
是的,你是对的,它不是任何数字除以无穷大,而是无穷大除以导致NaN的无穷大 – user13267
想想师的本质。
4/5
意味着你有四件东西,并且你将它拆分成5件。结果是其中一件的尺寸。
4/infinity
意味着你有四件东西,而且你将它分成无限小块。它永远不可能是0
,因为号码是continuous
,因为它是NaN
,因为你永远不会发放4
这些片段来测量其中一个片段。
让我想起微积分......我生命中的黑暗时期。 – Maroun
我知道你的痛苦兄弟..无论我喝多少东西,定形积分都会烧到我的大脑上。 – christopher
但x /无穷大被认为是0不是吗?例如,当我们做x /(1/0)时,是不是认为是0? – user13267
- 1. Scikit NaN或无穷大错误消息
- 2. PortfolioAnalytics“从”不能是NA大,NaN,或无穷大
- 3. 如何确定一个double是不是无穷大,-infinity还是Nan在SSRS中?
- 4. Ruby分区无穷大/ NaN应该返回0
- 5. Java减法浮点数是无穷大?
- 6. Python - 输入包含NaN,无穷大或值太大的dtype('float64')
- 7. Java中的无穷大总和
- 8. 无穷大在MSVC++
- 9. 如何比较算术运算的结果是NaN还是无穷大?
- 10. Fortran中的无穷大
- 11. gcc中的无穷大值
- 12. 划分返回NaN
- 13. fit_transform中的错误:输入包含NaN,无穷大或值太大(dtype('float64'))
- 14. ValueError:阵列在LinearSVC期间在_assert_all_finite中包含NaN或无穷大
- 15. Double.POSITIVE_INFINITY是无穷的真实表示吗?
- 16. Java计算返回无穷大
- 17. 遇到错误:输入包含的NaN,无穷大或过大的D型(“float64”)
- 18. ValueError:输入包含使用LinearRegression的dtype('float64')的NaN,无穷大或值太大
- 19. 无穷大常量
- 20. 表YUI分页器无穷大记录
- 21. 在python中为任何对象创建无穷大和负无穷大
- 22. 积分类型在C++中的正负无穷大
- 23. 在C中表达数学无穷大#
- 24. 在python中使矩阵无穷大化
- 25. 在haskell中表达无穷大
- 26. 在JavaScript中如何实现无穷大?
- 27. 如何在Ruby中表达无穷大?
- 28. 检查变量是无穷大
- 29. ValueError:输入包含NaN,无穷大或者对于dtype('float64')来说值太大
- 30. 评估步骤中的无穷大值
您是否亲自尝试过这样做?测试似乎微不足道。 (尽管阅读http://docs.oracle.com/javase/specs/jls/se7/html/jls-15.html#jls-15.17.2以获得明确的答案)。 –
因此oracle文档页面说它应该是0,那么这是否意味着我的NaN不是来自无穷大除法发生的代码行? – user13267
这是由你来诊断。您没有向我们显示任何代码或导致您得出此结论的任何类型的诊断。 –