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

前端之家收集整理的这篇文章主要介绍了python – 整数除法:对于所有整数a,b,// b == int(a / b)为真吗?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我知道如果数字都是正数,则整数除法将始终返回与浮点结果截断相同的答案.如果其中一个或两个都是否定的,这是真的吗?

我只是想知道是否有一个整数除法表达式会在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中的整数.

原文链接:https://www.f2er.com/python/186356.html

猜你在找的Python相关文章