1. 程式人生 > >java的取模 取餘

java的取模 取餘

取餘是一個比較常見的運算,在各種程式語言中均有相應的運算子(Java/C的%, Pascal/Delphi的mod等等)
  Java取餘運算子 (%)
  一個表示式的值除以另一個表示式的值,返回餘數。
  result = number1 % number2
  引數
  result 任何變數
  number1 任何數值表示式
  number2 任何數值表示式。
  說明
  取餘(或餘數)運算子用 number1 除以 number2 (把浮點數四捨五入為整數),然後只返回餘數作為 result。例如,在下面的表示式中,A (即 result)等於 5。
  A = 19 % 6.7
  通常取模運算也叫取餘運算,他們都遵循處罰法則,返回結果都是餘數;
  Java中取餘運算具有如下性質:對所有int數值a和所有非零int數值b滿足:
  (a / b ) * b + (a % b) == a;
  這意味著當取餘操作返回一個非零的結果時。它與左運算元具有相同的正負符號
  但是仔細看是不一樣的,詳細請看例項:
  1.取餘
  rem(3,2)=1
  rem(-3,-2)=-1
  rem(3,-2)=1
  rem(-3,2)=-1
  2.取模
  mod(3,2)=1
  mod(-3,-2)=-1
  mod(3,-2)=-1
  mod(-3,2)=1
  由此可以看出,rem和mod是有符號區別的!
  當除數與被除數的符號相同時,rem和mod的結果是完全相同的;當除數與被除數的符號不相同時,結果不同。
  具體說,rem結果的符號與被除數相同;mod結果的符號與除數相同。