为什么 Python 2 中的整数除法会给出意外的负数结果?

Linda Hamilton
发布: 2024-10-25 02:50:30
原创
271 人浏览过

Why Does Integer Division in Python 2 Give Unexpected Results with Negative Numbers?

整数除法的意外结果

在 Python 2 中,使用负数执行整数除法可能会产生令人惊讶的结果。例如,当 8 除以 -7 时,结果为 -2,尽管预期商约为 -1.143。

理解楼层除法

整数除法,通常在 Python 2 中称为“向下取整除法”,将结果向下舍入到最接近的整数。这种行为表明,即使正整数和负整数相除,输出也总是负数更大。

示例难题

这种舍入原则会导致令人困惑的结果,如图所示通过以下除法运算:

  • 8/(-7) = -2
  • 8/7 = 1

Python 3 修复Anomaly

在 Python 3 中,此问题已得到解决。对于相同的操作 8/(-7),输出为 -1.143。但是,如果所需的行为是整数除法,则使用“//”运算符将复制 Python 2 的结果。

技术说明

在 Python 2 中,一个整数除以另一个整数的类型也是整数。因此,结果会向下舍入到最接近的整数。 Python 3 引入了自动类型转换,允许将结果表示为浮点数,保留其实际值。

以上是为什么 Python 2 中的整数除法会给出意外的负数结果?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板