【问题标题】:NAN and Infinity in javascript mathematical operations [duplicate]javascript数学运算中的NAN和Infinity [重复]
【发布时间】:2017-02-27 14:48:05
【问题描述】:

0 / 0 输出 NaN1 / 0 输出Infinity

javascript 如何评估第一个数学运算?

【问题讨论】:

标签: javascript math


【解决方案1】:

根据spec

0 / 0 输出 NaN 因为

零除以零的结果为 NaN;零除以任何 其他有限值结果为零,其符号由 规则上面已经说过了。

1 / 0 输出 Infinity 因为

一个非零有限值除以一个零会产生一个有符号的 无穷。符号由上面已经说明的规则确定。

12.6.3.2 应用 / 运算符(无序列表)小节中的第 7 点和第 8 点

【讨论】:

    【解决方案2】:

    在 javascript 中,0 / 01 / 0 表示 IEEE754 浮点类型参数的除法。

    这个浮点规范非常具体地说明了在计算分母为零的除法时必须发生的情况。它返回

    1. +如果分子为正则无穷大
    2. -如果分子为负则无穷大
    3. 如果分子也为零,则为 NaN

    因此0 / 0 是NaN,1 / 0 是+Infinity。

    请注意,在其他语言(例如 C、C++ 和 Java)中,您的除法将在整数算术中进行,并且未定义整数除以零。

    【讨论】:

      【解决方案3】:

      0/0 是数学不能执行的表达式。这就是为什么它是 Not_A_Number。

      【讨论】:

        猜你喜欢
        • 2016-09-04
        • 2016-02-16
        • 1970-01-01
        • 2015-12-24
        • 1970-01-01
        • 2016-07-22
        • 1970-01-01
        • 2011-09-08
        • 1970-01-01
        相关资源
        最近更新 更多