關於取模和取餘的講解,網上有不少誤人的帖子,我也看了不少,感受越看越懵,說什麼的都有,最終仍是得靠本身來證明!code
對A和B取模取餘操做:A % B方法
取模和取餘的區別僅僅是在計算C的時候不一樣:總結
取餘時:C 值向0靠近取整,好比:co
C = A / B = 5 / 3 = 1.666666 靠近0取整,則C取 1 C = A / B = -7 / 2 = -3.5 ,靠近0取整,則C取-3
取模時:C 值向無窮小處取整,好比:
C = A / B = 5 / 3 = 1.666666,向無窮小處取整,則C取1 C = A / B = -7 / 2 = -3.5 ,向無窮小處取整,則C取-4
1.當兩個數的符號相同,即同爲負或者同爲正時,取餘和取模結果相同,由於C偏向同一個方向取值,使得C值同樣。
2.符號不一樣時,取模結果的符號和除數一致,取餘結果的符號和被除數一致。
3.%號在Java中計算負數時是取餘而不是取模,若是要對負數取模,要用Math.floorMod( )方法。