0

我需要在 JS 中执行大数的算术运算,在这种特殊情况下是:

(1827116622 / 6) * 251772294

预期结果是 76669557221078478 但由于整数溢出,我得到 76669557221078460。

该环境不允许包含任何库。是否有解决方法来处理这样的计算?


我这样做的原因:我正在尝试使用以下公式找到这些数字的最小公倍数:

LCM(, )·GCD(, ) = · 其中 LCM 是最小公倍数,GCD 是最大公约数。

我的计算是( a / gcd ) * b

4

1 回答 1

0

JavaScript 中的数字由64 位双精度数表示,它为您提供 53 位整数部分,如果您超过 53 位,您的数字“变为双精度数”,因此您得到四舍五入。

如果您使用大于 53 位的整数,您需要一个自定义解决方案,就像其他在评论中写的那样。

于 2016-08-25T07:48:14.290 回答