python 划分不准确

python division is not accurate

所以我在尝试对 20 位数字进行除法时遇到了问题。

我的代码:

result = 61519713751187780547/3
print(result)
print(int(result))

输出:

2.0506571250395927e+19
20506571250395926528

61519713751187780547/3 的预期输出是:

20506571250395926849 
#calculated using full precision calculator at https://www.mathsisfun.com/calculator-precision.html

我很困惑哪里出了问题,或者我做错了什么。输出与预期输出之间的差异高达 300+。 该数字可以被 3 整除,因此它应该给出一个整数结果。但不知何故,python 给出了一个浮点数结果。

如有任何帮助,我们将不胜感激。提前致谢!

在Python3中,/是浮点数除法,//是整数除法

61519713751187780547//3
Out[3]: 20506571250395926849