我已经阅读了stackoverflow:
模量50%100
以这种方式思考:
100进多少次50次?
零次。所以必须剩下50个。因此,答案是50。
这是我理解/计算模数的最简单方法。但是,当我对1%3采用相同的方法时,会出现问题。 3进1次多少次?零,所以必须剩下3个?实际上它不是1,但为什么呢?这也是2%11和其他许多人的情况,这是关于什么的?
答案 0 :(得分:2)
除法算法:
r
定义为a % b
。
“如果a和b是正整数,则存在唯一的整数q,r with a = b * q + r且0≤r<1。 B“。
1 = 3 * 0 + 1,所以答案是1.
(0≤1<3)
答案 1 :(得分:2)
3进入1次零次,剩下 1 。不是3。
注意 Java中没有模数运算符。它被指定为余数运算符。在几种情况下,这会影响结果的含义和价值。
答案 2 :(得分:0)
您可以将a % b
视为a / b
或
a % b = a - a / b * b;
1 % 3 = 1 - 1 / 3 * 3;
= 1 - 0 * 3
= 1
当你有-4%3
时会变得更有趣-4 % 3 = -4 - -4 / 3 * 3
= -4 - -3
= -1