【发布时间】:2020-04-07 15:24:06
【问题描述】:
我仍然不明白 NaN 或(不是实数的数字)到底是什么。
主要问题:
- 究竟什么是 NaN 值或 NaN(用非数学教授的话来说)?
此外,我对整个情况有几个问题,这让我对理解 NaN 应该是什么感到不满,这不是回答我的主要问题所必需的,而是想要的:
导致 NaN 值作为结果的操作是什么?
为什么 0.0 / 0.0 的结果被声明为未定义?不应该是0吗?
为什么任何数学运算的结果都不能用浮点数或整数表示?一个值怎么会是不可表示的?
为什么负数的平方根不是实数?
为什么 NaN 不等于不定?
我没有在整个互联网上找到任何可以理解的解释 NaN 对我来说是什么,包括在 Stack Overflow 上。
无论如何,我想提供我的研究作为地点的链接,我已经扫描以找到我的问题的可理解答案,即使某些链接在其他编程语言中指向相同的问题,但没有给我想要的明确总资料:
维基百科:
https://en.wikipedia.org/wiki/NaN
https://en.wikipedia.org/wiki/IEEE_754
其他:
http://foldoc.org/Not-a-Number
https://www.youtube.com/watch?v=HN_UmxIVS6M
https://www.youtube.com/watch?v=9EsHjXftO7s
堆栈溢出:
其他语言的类似或相同问题(我提供它们,只要我认为理解的基础非常相似,如果不相同):
What is the rationale for all comparisons returning false for IEEE754 NaN values?
(Built-in) way in JavaScript to check if a string is a valid number
JavaScript: what is NaN, Object or primitive?
关于 C++ 的问题:
What is difference between quiet NaN and signaling NaN?
Checking if a double (or float) is NaN in C++
Why does NaN - NaN == 0.0 with the Intel C++ Compiler?
What is the difference between IND and NAN numbers
感谢您提供所有有用的答案和 cmets。
【问题讨论】:
-
Why is the result of 0.0 / 0.0 declared as undefined? Shouldn´t it be 0?为什么应该是0?什么东西除以0?不是 0。 -
请只问一个问题
-
另外,您的大部分问题都应该在数学 QA 网站上提出,而不是在编程网站上提出。
-
@tkausl
lim x->0 x*x / x = 0 -
@ThomasSablik 为什么选择
x*x作为分子?您可以使用这样的限制和适当的分子生成任何结果。
标签: math floating-point nan ieee-754