javascript 变量中允许的最大整数是多少? [复制]
Posted
技术标签:
【中文标题】javascript 变量中允许的最大整数是多少? [复制]【英文标题】:What is the maximum integer allowed in a javascript variable? [duplicate] 【发布时间】: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。最多可以达到多少?
顺便说一句,我以为这个问题以前已经回答过,但我找不到。如果有答案,请给我一个链接=)谢谢!
【问题讨论】:
【参考方案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 你的问题应该很清楚 - integer 和 number 这两个词的意思不同! (虽然不可否认,该值是一个整数 :-) 根据ECMA-262 §15.7.3.2,这是largest positive finite value of the Number type
的近似。您不能从零构造一个连续的数字序列,例如Number.MAX_VALUE - 1 == Number.MAX_VALUE // true
.以上是关于javascript 变量中允许的最大整数是多少? [复制]的主要内容,如果未能解决你的问题,请参考以下文章