JAVA和Nginx 教程大全

网站首页 > 精选教程 正文

Java 中的取模和取余 java中取模是什么意思

wys521 2024-11-08 15:15:11 精选教程 32 ℃ 0 评论

Java 中的取余运算(Complementation)是 % ,而取模运算(Modulo Operation)是 Math.floorMod() ,取余和取模并不一致。

- 计算方法
对于整数 a,b 来说,取模运算和取余运算的过程相同:

  1. 求整数商:c=a/b
  2. 计算或者余数:r=a?c×b

只是取模和取余在第一步求商的方法上有所不同:取余运算在取 c 的值时,向 0 方向舍入( fix() 函数);而取模运算在计算 c 的值时,向负无穷方向舍入( floor() 函数)。

- 代码例子

    int a = 7, b = 4;
    System.out.println(String.format("%d %% %d = %d, %d mod %d = %d", a, b, a % b, a, b, Math.floorMod(a, b)));
    a = -7;
    System.out.println(String.format("%d %% %d = %d, %d mod %d = %d", a, b, a % b, a, b, Math.floorMod(a, b)));
    a = 7;
    b = -4;
    System.out.println(String.format("%d %% %d = %d, %d mod %d = %d", a, b, a % b, a, b, Math.floorMod(a, b)));
    a = -7;
    b = -4;
    System.out.println(String.format("%d %% %d = %d, %d mod %d = %d", a, b, a % b, a, b, Math.floorMod(a, b)));

输出如下:

7 % 4 = 3, 7 mod 4 = 3
-7 % 4 = -3, -7 mod 4 = 1
7 % -4 = 3, 7 mod -4 = -1
-7 % -4 = -3, -7 mod -4 = -3

可以得出结论:

a mod b: 取模运算结果的符号和 b 一致,
a % b: 取余运算结果的符号和 a 一致。


注:C 和 C++ 中的 % 也为取余,Python 中的 % 为取模。


参考资料:

https://www.cnblogs.com/LeeFire/p/10265702.html

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表