我试图谷歌,但所有关键词都引用了使用变量内容的功能或解决方案。
我的问题很简单。 如果变量代表一个数字,
var a = 1;
它的最大位长度是多少?我的意思是,在缓冲区溢出发生之前它可以包含哪个最高数字? 是int32吗?是int64吗?是不一样的长度?
提前致谢
答案 0 :(得分:4)
作为the spec says,JavaScript中的数字为IEEE-754 double-precision floating point:
-1.7976931348623157e+308
到1.7976931348623157e+308
(后者可以通过Number.MAX_VALUE
获得),也就是说(2 - 2^-52) × 2^1023
的正面和反面版本,但它们可以&# 39; t完美地代表所有这些价值观。众所周知,0.1 + 0.2
出现为0.30000000000000004
;见Is floating-point math broken? Number.MAX_SAFE_INTEGER
形式提供。MIN_SAFE_INTEGER
是-9,007,199,254,740,991 答案 1 :(得分:2)
Numbers是IEEE 754 floating point双精度值,其尾数为53位。请参阅MDN:
数字的整数范围
以下示例显示了最小和最大整数值 可以表示为Number对象(有关详细信息,请参阅ECMAScript 标准,第8.5章数字类型):
var biggestInt = 9007199254740992; var smallestInt = -9007199254740992;