Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.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幻数79753741930607500_Javascript_Node.js - Fatal编程技术网

Javascript幻数79753741930607500

Javascript幻数79753741930607500,javascript,node.js,Javascript,Node.js,有没有办法增加这个数字 console.log(79753741930607500+1) // 79753741930607500 console.log(79753741930607499+3) // 79753741930607500 upd: zip加密/解密函数使用64位数字: keys[0] = 305419896; keys[1] = 591751049; keys[2] = 878082192; this.update_keys=function(c){ keys[0]

有没有办法增加这个数字

console.log(79753741930607500+1) // 79753741930607500
console.log(79753741930607499+3) // 79753741930607500
upd:

zip加密/解密函数使用64位数字:

keys[0] = 305419896;
keys[1] = 591751049;
keys[2] = 878082192;

this.update_keys=function(c){
    keys[0]=crc32.crc32(keys[0],c);
    keys[1]=(((keys[1]+(keys[0]&0xff))*0x08088405+1)& 0xffffffff) >>>0;
    keys[2] = crc32.crc32(keys[2], keys[1] >>> 24);
};
键[1]中间计算可能超过79753741930607500


存在适用于NodeJ的通用解决方案,浏览器可以使用64位整数?

由于问题已标记,因此可以使用该模块

安装

npm install bigint
用法:

var bigint = require('bigint');

console.log(bigint('79753741930607500').add(3)); //<BigInt 79753741930607503>
var bigint=require('bigint');
log(bigint('79753741930607500').add(3))//

尽管要注意,但无法将其保持为整数,它将作为bigint字符串返回,或者您可以使用方法
.toString()
将其转换为字符串。如果尝试将其作为整数返回,则会失去精度或返回无穷大。

@JanDvorak为什么?这是某种数据类型上限吗?@LynnCrumbling是的。但是javavascript数字数据类型已经解释过了。OP应该告诉我们,如果他想得到答案,他的实际问题是什么。@Sirko console.log(Number.MAX_VALUE);1.7976931348623157e+308@askovpen
MAX\u VALUE
是您可以使用的最大数字,而“我的链接”中的数字是最大整数,您可以在不损失精度的情况下使用。这是默认模块吗?有官方文档吗?@JanDvorak这是一个外部模块,答案中有链接。+1很好。给OP一个关于他们如何存储和增加数字的原始问题的答案。是否存在适用于NodeJ和浏览器的通用解决方案?如果你花时间进行研究,google会带你去。