[英]Why the modulo/remainder operator calculated is wrong for large numbers?
我试图理解为什么我无法使用 JavaScript 计算正确的模数。 我试过的操作是:
错误的答案
28493595674446332150349236018567871332790652257295571471311614363091332152517 % 6 = 4
结果应该是 1。
28493595674446332150349236018567871332790652257295571471311614363091332152517 % 6 = 1
我曾尝试将此数字转换为 BN,但不幸的是我总是得到相同的答案。 但是,如果您使用 wolfram alpha 或其他数学软件,它会返回正确的答案。
这是怎么回事? 我做错了什么?
JavaScript 中的整数范围是 +/- 9007199254740991 (Number.MAX_SAFE_INTEGER)。 您的数字超出了 JS 的范围。
您还可以使用 BigInt 表示法来获得正确答案。 28493595674446332150349236018567871332790652257295571471311614363091332152517n % 6n
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.