最近在學習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.
因此,在實際開發的時候,要注意這個差別,避免差別的結果。