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@askovpenMAX\u VALUE
是您可以使用的最大数字,而“我的链接”中的数字是最大整数,您可以在不损失精度的情况下使用。这是默认模块吗?有官方文档吗?@JanDvorak这是一个外部模块,答案中有链接。+1很好。给OP一个关于他们如何存储和增加数字的原始问题的答案。是否存在适用于NodeJ和浏览器的通用解决方案?如果你花时间进行研究,google会带你去。