【问题标题】:What is the maximum integer allowed in a javascript variable? [duplicate]javascript 变量中允许的最大整数是多少? [复制]
【发布时间】:2012-08-28 14:20:28
【问题描述】:

可能重复:
What is JavaScript's Max Int? What's the highest Integer value a Number can go to without losing precision?

javascript 中的最大整数是多少?我有一个从 0 开始的变量,每 0.1 秒增加 100。最多可以达到多少?

顺便说一句,我以为这个问题以前已经回答过,但我找不到。如果有答案,请给我一个链接=)谢谢!

【问题讨论】:

    标签: javascript


    【解决方案1】:

    JavaScript 数字是 IEE 794 浮点双精度值。有一个 53 位尾数(根据记忆),所以这几乎是限制。

    现在,JavaScript 语义有时会要求将数字转换为 32 位整数值,例如数组索引和位运算符。

    【讨论】:

      【解决方案2】:

      一个 javascript 变量可以有任何你喜欢的值。如果本机支持还不够,有各种库支持无限精度算术(例如BigInt.js)。

      ECMAScript Number Type 的最大值是 +ve 无穷大(但无穷大不是一个数字,而是一个概念)。最大数值由 Number.MAX_VALUE 给出,它是 IEEE 754 64-bit double-precision number 可表示的最大值。

      一些怪癖:

      var x = Number.MAX_VALUE;
      var y = x - 1;
      var z = x - 2;
      
      x == y; // true
      x == z; // false
      

      ECMAScript 中可表示的连续整数的范围是从 -2^53 到 +2^53。最大指数为 2^1023。

      【讨论】:

        【解决方案3】:

        1.7976931348623157e+308

        自己尝试编码

        代码

        alert(Number.MAX_VALUE);
        

        http://jsfiddle.net/XHcZx/

        【讨论】:

        • 这不是被问到的,我不认为。这个问题明确地说 integer,我怀疑这意味着 OP 对表示连续整数序列的能力感兴趣。如果您从该值中减去 1,您将不会真正得到该数字减去 1。
        • 太好了,谢谢。我不知道 Number.MAX_VALUE 属性,它实际上显示了 javascript 中应该是最大可能的数字。
        • @jpatiaga 你的问题应该很清楚 - integernumber 这两个词的意思不同!
        • (虽然不可否认,该值是一个整数 :-)
        • 根据ECMA-262 §15.7.3.2,这是largest positive finite value of the Number type近似。您不能从零构造一个连续的数字序列,例如Number.MAX_VALUE - 1 == Number.MAX_VALUE // true.
        猜你喜欢
        • 2013-06-10
        • 2020-10-06
        • 1970-01-01
        • 2015-07-30
        • 1970-01-01
        • 1970-01-01
        • 2012-05-31
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多