【小实验】javascript 能够表述的最大整数

发布时间 2023-07-27 15:01:49作者: ahfuzhang

作者:张富春(ahfuzhang),转载时请注明作者和引用链接,谢谢!


打开浏览器的控制台,开始输入数值:

输入:(16 位十进制值)
9999999999999998
返回同样结果

输入:
9999999999999999
返回:
10000000000000000
数值不一样,说明精度已经开始丢失。

输入:(16 位十进制值负数)
-9999999999999996
返回同样结果

输入:
-9999999999999997
返回:
-9999999999999996

由此说明,JavaScript 目前表述的整数范围是:
9999999999999998 ~ -9999999999999996

9999999999999998 转换为 16 进制为:0x002386f26fc0fffe
9999999999999998 转换为 2 进制为:00000000 00100011 10000110 11110010 01101111 11000000 11111111 11111110
因此,假设以 int64 类型来存储值,最多仅有 53 bit 可以用于存储 JavaScript 的合法整形值。