Java取余和取模(%和Math.floorMod())的区别

Posted 涂诣

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java取余和取模(%和Math.floorMod())的区别相关的知识,希望对你有一定的参考价值。

%被称为取余,Math.floorMod()被称为取模。

对于整型数a,b来说,取模运算或者取余运算的方法都是:

1.求 整数商: c = a/b;

2.计算模或者余数: r = a - c*b.

%取余运算在a/b这一步骤时,得到的商,向0方向舍弃小数,之后再计算a-b*(a/b)

floorMod取模运算在a/b这一步骤时,得到的商,向负无穷方向舍弃小数,之后再计算a-b*(a/b)

符号不同的结果

举例,a=8,b=-3,此时c=-2.66…
对于%,c=-2,a%b=a-bc=2
对于floorMod,c=-3,floorMod(a,b)=a-bc=-1

以上是关于Java取余和取模(%和Math.floorMod())的区别的主要内容,如果未能解决你的问题,请参考以下文章

Java 中的取模和取余

取模和取余详解

关于java取余问题

LeetCode:7. Reverse Integer(Easy)

java里取余的问题

算数运算符