[模运算错误的JavaScript

问题描述 投票:0回答:1

我试图理解为什么我无法使用JavaScript计算正确的模数。我尝试过的操作是:

28493595674446332150349236018567871332790652257295571471311614363091332152517 % 6 = 4 //(Wrong answer)

结果应为1。

28493595674446332150349236018567871332790652257295571471311614363091332152517 % 6 = 1

我曾尝试将此数字转换为BN,但不幸的是,我总是得到相同的答案。但是,如果您使用Wolfram alpha或其他数学软件,它将返回正确的答案。

发生了什么事?我在做什么错?

javascript bignum wolframalpha
1个回答
0
投票

JavaScript中的整数范围是+/- 9007199254740991(Number.MAX_SAFE_INTEGER)。您的电话号码超出了JS的范围。

您还可以使用BigInt表示法来获得正确的答案。28493595674446332150349236018567871332790652257295571471311614363091332152517n % 6n

请参见What is JavaScript's highest integer value that a number can go to without losing precision?

© www.soinside.com 2019 - 2024. All rights reserved.