问题描述
所以我在尝试对 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 给出了一个浮点结果。
任何帮助将不胜感激。提前致谢!
解决方法
在 Python 3 中,/
是浮点除法,//
是整数除法
61519713751187780547//3
Out[3]: 20506571250395926849