java的取模 取餘
阿新 • • 發佈:2019-02-20
取餘是一個比較常見的運算,在各種程式語言中均有相應的運算子(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結果的符號與除數相同。
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結果的符號與除數相同。