Java模数运算符

时间:2014-06-18 17:40:27

标签: java modulus

使用模数运算符是所有程序员必须知道的。我知道=)。

在java中我们有:

int a = 100 , b = 50, c;

如果我们这样做:

c = a % b; // c = 0 because : 100 = 50*2 + 0 | D = d*q + r using simple maths

然而,由于没有找到此操作的原因,我感到有点沮丧:

c = b % a; // c = 50 ???? It seems not to have logic when a use D = d*q + r

有人可以解释为什么50%100是50 ???我无法理解。

由于

2 个答案:

答案 0 :(得分:8)

因为你可以乘以0:

c = 100*0 + 50;

以模数形式返回的+ 50

答案 1 :(得分:3)

这样想:

100 goes into 50 how many times?

零次。所以必须留下50。因此答案是50