執行如下的Java語句:
System.out.println("5 / 3 = " + (5 / 3));
System.out.println("5 / -3 = " + (5 / -3));
System.out.println("-5 / 3 = " + (-5 / 3));
System.out.println("-5 / -3 = " + (-5 / -3));
輸出結果爲:
5 / 3 = 1
5 / -3 = -1
-5 / 3 = -1
-5 / -3 = 1
可以看出,整除把結果的小數部分截掉了。
再執行如下的Java語句:
System.out.println("5 % 3 = " + (5 % 3));
System.out.println("5 % -3 = " + (5 % -3));
System.out.println("-5 % 3 = " + (-5 % 3));
System.out.println("-5 % -3 = " + (-5 % -3));
輸出結果爲:
5 % 3 = 2
5 % -3 = 2
-5 % 3 = -2
-5 % -3 = -2
這個結果可以通過如下運算得到:
a % b = a - (a / b)
求餘的結果總是與被除數保持一致的符號。在上式中,a爲被除數。
但在Python中,這稍微有些不同。
>>> 5 // 3
1
>>> 5 // -3
-2
>>> -5 // 3
-2
>>> -5 // -3
1
在這裏,整除的結果似乎是這樣得到的:
a // b = math.floor(float(a) / b);
>>> 5 % 3
2
>>> 5 % -3
-1
>>> -5 % 3
1
>>> -5 % -3
-2
這也是通過如下運算得到的:
a % b = a - (a / b)
求餘的結果總是與除數保持一致的符號。在上式中,b爲除數。