为什么Python 3中这种简单的整数除法会给我比预期少的答案?

时间:2019-03-21 01:59:39

标签: python

Python3。我有此命令->

int(29930125722068957199361/65537)

我收到456690506463050752,但答案应该是456690506463050753

哦,这仅在Python 3+中才会发生,而在Python提示符下直接执行时不会发生

1 个答案:

答案 0 :(得分:1)

这可能是由于浮点错误。浮点数在内存中的大小有限,只能精确到某些值。

相反,请使用//(底数)运算符以获得准确的结果:

print(29930125722068957199361 // 65537)
# 456690506463050753