Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/87.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript/jQuery变量最大长度_Javascript_Jquery - Fatal编程技术网

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
  • 类似地,
    MIN\u SAFE\u INTEGER
    is-9007199254740991
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
  • 类似地,
    MIN\u SAFE\u INTEGER
    is-9007199254740991

您的意思是js中不会出现缓冲区溢出……您的意思是“双精度浮点溢出”(或“双溢出”)或“整数溢出”(当一个数字不再被视为整数并开始成为双精度时)——这两个都与JavaScript的数字有关。没有缓冲区就不会有缓冲区溢出-这是一个完全不同的概念。(@dandavis:如果你有一个,那么在JS中可能会有缓冲区溢出。)数字在JS中不会存储为整数。每个数字都是IEEE 754浮点数。@Derek朕會功夫: 但是,即使使用浮点数,也有一个阈值,
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;