加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 整数除法:对于所有整数a,b,// b == int(a / b)为真吗

发布时间:2020-12-16 23:14:09 所属栏目:Python 来源:网络整理
导读:我知道如果数字都是正数,则整数除法将始终返回与浮点结果截断相同的答案.如果其中一个或两个都是否定的,这是真的吗? 我只是想知道是否有一个整数除法表达式会在Python 2和Python 3中返回相同的结果(是的,我从__future__ import division中知道). 附:我们暂
我知道如果数字都是正数,则整数除法将始终返回与浮点结果截断相同的答案.如果其中一个或两个都是否定的,这是真的吗?

我只是想知道是否有一个整数除法表达式会在Python 2和Python 3中返回相同的结果(是的,我从__future__ import division中知道).

附:我们暂时忽略浮点溢出.

解决方法

在Python 3中不是这样,你可以自己测试它:
>>> int(-1/3) == -1//3
False

分别给出q(商)和r(余数)的a和b的整数除法和模数将总是返回满足b * qr == a和(a * b)> 0 == q> 0的数字(即a * b)和q具有相同的符号)和abs(r)< ABS(Q).如果q是浮点数,则表达式int(q)总是向0舍入. 除非你使用__future__ import division,否则它总是适用于Python 2,但那是因为a / b == a // b如果a和b是Python 2中的整数.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读