javascript/jQuery变量最大长度
我试着用谷歌搜索它,但所有的关键词都指向处理变量内容的函数或解决方案 我的问题很简单。 如果变量表示一个数字javascript/jQuery变量最大长度,javascript,jquery,Javascript,Jquery,我试着用谷歌搜索它,但所有的关键词都指向处理变量内容的函数或解决方案 我的问题很简单。 如果变量表示一个数字 var a = 1; 它的最大比特长度是多少?我的意思是,在缓冲区溢出发生之前,它能包含的最大值是多少? 是int32吗?是int64吗?它的长度不同吗 提前感谢在Javascript中,是具有53位尾数的双精度值。见: 数字的整数范围 下面的示例显示了 可以表示为数字对象(有关详细信息,请参阅ECMAScript 标准,第8.5章编号类型): Javascript中的双精度值有53位
var a = 1;
它的最大比特长度是多少?我的意思是,在缓冲区溢出发生之前,它能包含的最大值是多少?
是int32吗?是int64吗?它的长度不同吗
提前感谢在Javascript中,是具有53位尾数的双精度值。见:
数字的整数范围
下面的示例显示了
可以表示为数字对象(有关详细信息,请参阅ECMAScript
标准,第8.5章编号类型):
Javascript中的双精度值有53位尾数。见:
数字的整数范围
下面的示例显示了
可以表示为数字对象(有关详细信息,请参阅ECMAScript
标准,第8.5章编号类型):
如图所示,JavaScript中的数字为:
- 它们的大小是64位
- 它们的范围是
到-1.7976931348623157e+308
(后者可通过1.7976931348623157e+308
获得),也就是说Number.MAX_VALUE
的正负版本,但它们不能完美地代表所有这些值。著名的是,(2-2^-52)×2^1023
以0.1+0.2
的形式出现;看0.300000000000000004
- 最大“安全”整数值(不会不精确的整数值)为9007199254740991,在符合ES2015标准的JavaScript引擎上可用作
number.max_safe_integer
- 类似地,
is-9007199254740991MIN\u SAFE\u INTEGER
- 它们的大小是64位
- 它们的范围是
到-1.7976931348623157e+308
(后者可通过1.7976931348623157e+308
获得),也就是说Number.MAX_VALUE
的正负版本,但它们不能完美地代表所有这些值。著名的是,(2-2^-52)×2^1023
以0.1+0.2
的形式出现;看0.300000000000000004
- 最大“安全”整数值(不会不精确的整数值)为9007199254740991,在符合ES2015标准的JavaScript引擎上可用作
number.max_safe_integer
- 类似地,
is-9007199254740991MIN\u SAFE\u INTEGER
x+1
保证以人们想象的整数应该的方式工作——这就是我所指的。(此外,位运算的结果是真整数,如果你特别谈论存储,uint32数组
存储真整数;我同意这在这里并不相关,但“每个数字都是IEEE 754”不是100%正确。)你的意思是在js中它不会缓冲区溢出……你的意思是“双精度浮点溢出”(或“双溢出”)或“整数溢出”(当一个数字不再被视为整数并开始成为双溢出时)-这两个都与JavaScript的数字有关。没有缓冲区就不能有缓冲区溢出-这是一个完全不同的概念。(@dandavis:如果你有一个,你可以在JS中有缓冲区溢出。)在JS中,数字不是以整数形式存储的。每个数字都是IEEE 754浮点数。@Derek朕會功夫: 但是,即使使用浮点数,也有一个阈值,x+1
保证以人们想象的整数应该的方式工作——这就是我所指的。(此外,位运算的结果是真整数,如果您专门谈论存储,uint32阵列
存储真整数;我同意这在这里并不重要,但“每个数字都是IEEE 754”并非100%正确。)
var biggestInt = 9007199254740992;
var smallestInt = -9007199254740992;