整数除法惊喜
使用整数时,执行除法时可能会遇到意外结果。例如,当两个数字都被视为整数时,8/-7 等于 -2。这可能会令人困惑,所以让我们探讨一下发生了什么。
解释
Python 2(您似乎正在使用的版本)中的整数除法遵循称为“楼层划分。”这意味着结果将向下舍入到最接近的整数。在本例中,-1.143(8.0/(-7.0) 的实际结果)向下舍入为 -2。
此行为会导致有趣的结果:
Python 3 及更高版本
在 Python 3 中,整数除法已更改。它提供浮点结果,而不是向下舍入。例如,Python 3 中的 8/(-7) 将为 -1.143。
如果您仍然需要整数除法,Python 3 提供了“//”运算符。这与 Python 2 中的整数除法类似,向下舍入到最接近的整数。
“修复”惊喜
整数除法结果中明显的惊喜可以是通过升级到Python 3来“修复”。这将产生浮点结果,更能代表真实的数学运算。或者,您可以在 Python 3 中使用“//”运算符来实现与 Python 2 中的整数除法相同的行为。
以上是整数除法的意外结果:为什么 8/-7 = -2?的详细内容。更多信息请关注PHP中文网其他相关文章!