java中的%取模

在java中的  %  实际上是取余。

下面为数学概念上的取余和取模:

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

    1.求 整数商: c = a/b;
    2.计算模或者余数: r = a - c*b.
求余和求模的区别:
          取余:在第一步求c的时候,c向负无穷方向舍入(向0取整)。
          取模:在第一步求c的时候,c向0方向舍入(向下取整)。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
例如:
   -7Mod4:
 a=-7  , b= 4;
求余: c=-7/4=-1   (-1.75向0取整为-1)
            r=-7-(-1*4)=-3
求模: c=-7/4=-2  (-1.75向下取整 )
    r=-7-(-2*4)=1
 
归纳:当a,b的符号一致时,所得的c 是一样的,所以结果也一样
   当a,b的符号不一致的时候,求模时的 c 的符号与  b  一致,求余的符号与  a  一致
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在java中  %  的实际意思是 取余,所以求余的时候,只看a的符号,也是就%左边的那个数字的符号
在其他语言中 %  的意思也有取模的意思,例如 python
上一篇:【转】取模(mod)与取余(rem)的区别——Matlab学习笔记


下一篇:C语言备忘录——取余与取模