Java % (取模)運算


取模怎么算
    取模運算實際上是計算兩數相除以后的余數。假設 q 是 a、b 相除產生的商(quotient),r 是相應的余數(remainder),那么在幾乎所有的計算系統中,都滿足:
a = b x q + r,其中 |r|<|a|。
    因此 r 有兩個選擇,一個為正,一個為負;相應的,q 也有兩個選擇。如果a、b 都是正數的話,那么一般的編程語言中,r 為正數;或者如果 a、b 都是負數的話,一般 r 為負數。但是如果 a、b 一正一負的話,不同的語言則會根據除法的不同結果而使得 r 的結果也不同,但是一般 r 的計算方法都會滿足:
r = a - (a / b) x b   注意:當a是小數時,r = a - ((int)a / b) * b

C/Java 取模
   大多數語言的處理方式都與 C/Java 一致,采用了 truncate 除法。所以在 C/Java 語言中:

   -17 % 10 的計算結果如下:r = (-17) - (-17 / 10) x 10 = (-17) - (-1 x 10) = -7
   17 % -10 的計算結果如下:r = 17 - (17 / -10) x (-10) = (17) - (-1 x -10) = 7
   -17 % -10 的計算結果如下:r = (-17) - (-17 / -10) x (-10) = (-17) - (1 x -10) = -7

可以看出:運算結果的符號始終和被模數的符號一致。

參考原文:https://blog.csdn.net/cswhale/article/details/78602414


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM