JavaScript中最大范围的连续整数
Largest range of continuous integers in javascript
如果有人想知道...
我试图找出Javavscript可以表达的最大整数,它可以是连续数字范围的一部分。起初,我认为仅使用Number.MAX_VALUE就可以了,但这是一个愚蠢的假设。
Javascript将所有数字存储为双精度浮点数,遵循IEEE 754标准。
Number.MAX_VALUE 等于
7fef ffff ffff ffff, approximately 1.7976931348623157e+308.
可以以这种格式存储的下一个最小数字是
7fef ffff ffff fffe, approximately 1.7976931348623155e+308.
这两个数字之间显然存在相当大的差距,
导致诸如Number.MAX_VALUE == (Number.MAX_VALUE-1) //true
现在,这不会吓到我或任何事情,这只是事实。我正在寻找的是当下一个条件在 JS 中首次成立时
x == (x+1) //true
我没有编写一个简单地以 1 为增量添加的脚本,直到满足上述条件,而是在 IEEE 双精度浮点的维基百科页面上注意到以下文本:
"在 2^52=4,503,599,627,370,496 和 2^53=9,007,199,254,740,992 之间,可表示的数字正是整数。对于下一个范围,从 2^53 到 2^54,一切都乘以 2,所以可表示的数字是偶数,依此类推。
因此,似乎 2^53 将是连续整数范围的高端,并得到了验证
Math.pow(2,53) == Math.pow(2,53)+1 //true
Math.pow(2,53) == Math.pow(2,53)-1 //false
我实际上不需要该范围的低端,但如果有人知道它是什么,可能会很有趣。
相关文章:
- 如何使用js将SNAPSHOT内部版本号转换为3位数的整数
- 检测个位数整数时正在转换毫秒
- 限制javascript变量的最小/最大整数
- 如何在 Javascript 中将变量的值从字符串转换为整数
- 正则表达式只允许 x 个整数
- 我想在AngularJS应用程序中创建一个输入数字框,用户不应该在该框上键入十进制数字.(一个整数输入框)
- 如何在Chartjs中制作整数比例
- 使用CI和CodeDeploy对node.js应用程序进行连续部署
- 减去两个索引不同但值相同的整数
- 使用jquery从整数中减去
- 连续两页返回Javascript
- 有效地获取两个区间之间的随机整数
- 匹配 2D 数组中的连续值
- 为什么我的javascript程序没有将其转换为整数而不是字符串
- 带静态字符e输入的文本框数字和带javascript的负整数
- 创建一个javascript数组(N),该数组由连续的较小整数组成,其和为1000
- JavaScript中最大范围的连续整数
- JS:while循环以查找连续整数的乘积
- 使用javascript替换数组中的连续整数
- 索引不是连续整数的数组长度