我不太明白模数除法是如何工作的。
我正在计算 27 % 16
,结果是 11
,但我不明白为什么。
我似乎无法在网上找到通俗易懂的解释。 有人可以详细说明这里发生了什么吗?
最佳答案
大多数解释都遗漏了一个重要步骤,让我们用另一个示例来填补空白。
鉴于以下情况:
Dividend: 16
Divisor: 6
模函数如下所示:
16 % 6 = 4
让我们确定这是为什么。
首先,执行 integer division ,与普通除法类似,但任何小数(也称为余数)都会被丢弃:
16 / 6 = 2
然后,将上述除法 (2
) 的结果乘与我们的除数 (6
):
2 * 6 = 12
最后,从我们的除数 (16
) 中减去上述乘法的结果 (12
):
16 - 12 = 4
此减法的结果,4
,即余数,与上面模的结果相同!
关于language-agnostic - 模数除法如何工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2664301/