【发布时间】:2017-02-27 14:48:05
【问题描述】:
0 / 0 输出 NaN
而1 / 0 输出Infinity
javascript 如何评估第一个数学运算?
【问题讨论】:
-
不可能,但完全相同。
标签: javascript math
0 / 0 输出 NaN
而1 / 0 输出Infinity
javascript 如何评估第一个数学运算?
【问题讨论】:
标签: javascript math
根据spec
0 / 0 输出 NaN 因为
零除以零的结果为 NaN;零除以任何 其他有限值结果为零,其符号由 规则上面已经说过了。
和 1 / 0 输出 Infinity 因为
一个非零有限值除以一个零会产生一个有符号的 无穷。符号由上面已经说明的规则确定。
12.6.3.2 应用 / 运算符(无序列表)小节中的第 7 点和第 8 点
【讨论】:
在 javascript 中,0 / 0 和 1 / 0 表示 IEEE754 浮点类型参数的除法。
这个浮点规范非常具体地说明了在计算分母为零的除法时必须发生的情况。它返回
因此0 / 0 是NaN,1 / 0 是+Infinity。
请注意,在其他语言(例如 C、C++ 和 Java)中,您的除法将在整数算术中进行,并且未定义整数除以零。
【讨论】:
0/0 是数学不能执行的表达式。这就是为什么它是 Not_A_Number。
【讨论】: