我需要在JS中使用大数字执行算术运算,在这种特殊情况下它是:
(1827116622 / 6) * 251772294
预期结果是76669557221078478,但由于整数溢出,我得到76669557221078460.
环境不允许包含任何库。是否有解决方法来处理这样的计算?
为什么我这样做:我试图使用以下公式找到这些数字的最小公倍数:
LCM(,)·GCD(,)=·其中LCM是最小公倍数,GCD是最大公约数。
我的计算是( a / gcd ) * b
。
答案 0 :(得分:0)
JavaScript中的数字由 64位双精度表示,它为您提供53位整数部分,如果您超过53位数字"变为双精度",所以你四舍五入。
如果你使用大于53位的整数,你需要一个像评论中写的其他自定义解决方案。