我有以下代码:
var str = "0x4000000000000000"; //4611686018427387904 decimal
var val = parseInt(str);
alert(val);
我得到这个值:“ 4611686018427388000
”,这是0x4000000000000060
我想知道JavaScript是否处理64位整数,还是我做错了什么?
我有以下代码:
var str = "0x4000000000000000"; //4611686018427387904 decimal
var val = parseInt(str);
alert(val);
我得到这个值:“ 4611686018427388000
”,这是0x4000000000000060
我想知道JavaScript是否处理64位整数,还是我做错了什么?
Answers:
UInt64
;Mozilla添加了对UInt64的支持-这是非标准的。WebGL有类似的需求,但是不幸的是,没有任何Uint64Array
一个,只有Uint32Array。
javascript.options.bigint
启用了标志,则Firefox 65+支持它。
console.time("go");for (var i=0;i<10000000;++i) {} console.timeEnd("go");
数字与64位数字console.time("go");for (var i=0n;i<10000000n;++i) {} console.timeEnd("go");