整数除法的意外结果
在 Python 2 中,使用负数执行整数除法可能会产生令人惊讶的结果。例如,当 8 除以 -7 时,结果为 -2,尽管预期商约为 -1.143。
理解楼层除法
整数除法,通常在 Python 2 中称为“向下取整除法”,将结果向下舍入到最接近的整数。这种行为表明,即使正整数和负整数相除,输出也总是负数更大。
示例难题
这种舍入原则会导致令人困惑的结果,如图所示通过以下除法运算:
Python 3 修复Anomaly
在 Python 3 中,此问题已得到解决。对于相同的操作 8/(-7),输出为 -1.143。但是,如果所需的行为是整数除法,则使用“//”运算符将复制 Python 2 的结果。
技术说明
在 Python 2 中,一个整数除以另一个整数的类型也是整数。因此,结果会向下舍入到最接近的整数。 Python 3 引入了自动类型转换,允许将结果表示为浮点数,保留其实际值。
以上是为什么 Python 2 中的整数除法会给出意外的负数结果?的详细内容。更多信息请关注PHP中文网其他相关文章!