以前學c語言時就接觸過%取模運算符,要求是%運算符兩邊必須爲整數;
最近做一道java筆試題(如下)時,卻發現浮點數能作爲操作數
// 輸出運行結果
public class Test3{
public static void main(String args[]){
System.out.println(100%3.0);
}
}
//輸出爲1.0
下面爲一些測試例子:
EXPRESSION | RESULT | ANALYZE |
---|---|---|
5 % 3 | 2 | 5-(5/3)*3 |
5 % -3 | 2 | 5-(5/(-3))*3 |
-5 % 3 | -2 | 5-(5/3)*3 |
-5 % -3 | -2 | 5-(-5/(-3))*3 |
5.2 % 3 | 1.9999999999999996 | 5.2-(5.2/3)*3 |
總結:整數小數正數負數的取模運算都可使用下面公式計算:
a%b = a - (a/b)*b