我正试图用nodejs和BigInt
函数非常准确地计算大数字。但是BigInt
函数对于两个不同的数字返回相同的结果:
输入>BigInt(1320**2+250000000**2(
输出>624999999999999973944983552n
输入>BigInt(250000000**2(
输出>624999999999999973944983552n
您正试图将正则数传递给BigInt()
构造函数,而这些正则数在到达BigInt构造函数之前就受到正则数限制。你需要传递字符串,或者如果你想对它们进行数学运算,那么在对它们进行算术运算之前,你需要先显式地将数值声明为BigInt值。
例如,您可以这样做:
console.log(1320n ** 2n + 25000000000000n ** 2n)
console.log(25000000000000n ** 2n)
这将给你:
625000000000000000001742400n
625000000000000000000000000n