java中的取模_Java 中的取模和取余
期末復(fù)習(xí)密碼學(xué)時(shí)需要用到取模運(yùn)算,發(fā)現(xiàn) Java 中的 % 運(yùn)算符并不是取模運(yùn)算(Modulo Operation),而是取余運(yùn)算(Complementation)。
計(jì)算方法
對(duì)于整數(shù) a,b 來說,取模運(yùn)算和取余運(yùn)算的過程相同:
求整數(shù)商:c=a/b
計(jì)算模或者余數(shù):r=a?c×b
只是取模和取余在第一步求商的方法上有所不同:取余運(yùn)算在取 c 的值時(shí),向 0 方向舍入( fix() 函數(shù));而取模運(yùn)算在計(jì)算 c 的值時(shí),向負(fù)無(wú)窮方向舍入( floor() 函數(shù))。
Java 示例
Java 中的取余運(yùn)算是 %,而取模運(yùn)算是 Math.floorMod()。
System.out.println("------Complementation------");
System.out.println(7 % 4);
System.out.println((-7) % 4);
System.out.println(7 % (-4));
System.out.println((-7) % (-4));
System.out.println();
System.out.println("------Modulo Operation------");
System.out.println(Math.floorMod(7, 4));
System.out.println(Math.floorMod(-7, 4));
System.out.println(Math.floorMod(7, -4));
System.out.println(Math.floorMod(-7, -4));
// 輸出結(jié)果
------Complementation------
3
-3
3
-3
------Modulo Operation------
3
1
-1
-3
從運(yùn)行結(jié)果可以看出:取模運(yùn)算結(jié)果的符號(hào)和 b 一致,取余運(yùn)算結(jié)果的符號(hào)和 a 一致。
注:C 和 C++ 中的 % 也為取余,Python 中的 % 為取模。
總結(jié)
以上是生活随笔為你收集整理的java中的取模_Java 中的取模和取余的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java rest 序列化_http请求
- 下一篇: java注解式开发_JAVA语言之Spr