最近在学习Python, 在取模运行时看到以下链接:http://www.2cto.com/kf/201106/94661.html,描述其和C语言进行对比发现存在差别。html
如Python:学习
divmod(-45, 7) = (-7, 4)htm
而C是:开发
-45 % 7 = -3语言
-45 / 7 = -6di
猜测:co
Python在求模的时候,获得的商不得大于实际商的最大整数。math
就是说,在Python中,
-45 % 7 获得的商就是math.floor(-45/7) = -7
而C语言是取绝对值最小整数,即:
(int)(-45 / 7) = -6
补充:取的商不一样,最终获得的余树就不同了。好比:(-45) - (7 × (-7))= 4; 而 (-45) - (7 × (-6)) = 3.
因此,在实际开发的时候,要注意这个差别,避免差别的结果。