简单的模数表达式

时间:2015-06-08 21:01:16

标签: java operators

我知道mod运算符会找到两个数字的余数。但是,当数字颠倒时,我无法理解这个概念。意思是,较小的数字在操作中排在第一位。

    int x = 4 % 3 ; // prints out 1

但是,有人可以向我解释一下:

     int y = 1 % 4 ; //  prints out 1
     int z = 2 % 3 ; // prints out 2

提前致谢!

2 个答案:

答案 0 :(得分:1)

操作员的左侧是否大于右侧是无关紧要的。对于任何除法运算总有一个余数,它只是有时它是0.

所以5 % 2返回1,就像4 % 3返回1一样。

对于正x % nn - 1形式的任何模运算的值将为0到x。对于否定-1(n-1),它将为x至0。

答案 1 :(得分:0)

你确定打印出2的内容吗?

int z虽然看起来很正常: 2 = 0 * 3 + 2

int y = 1%4应该打印1,因为: 1 = 0 * 4 + 1

它的作用与第一个较大的数字相同时的效果相同,只需将第一个除法的余数除以第二个。