为什么2 mod 4 = 2?

New*_*his 147 modulo

我很尴尬地问这么简单的问题.我的任期不会再开始两周,所以我不能问一位教授,这个悬念会杀了我.

为什么2 mod 4 = 2?

Jar*_*sen 149

Mod只是意味着你在执行除法后取余数.由于4进入2次零次,你最终得到2的余数.


Eri*_*ric 95

模数是余数,而不是除法.

2 / 4 = 0R2
2 % 4 = 2
Run Code Online (Sandbox Code Playgroud)

该符号%通常用于模运算符,代替单词mod.

因为x % 4,你得到下表(1-10)

 x x%4
------
 1  1
 2  2
 3  3
 4  0
 5  1
 6  2
 7  3
 8  0
 9  1
10  2
Run Code Online (Sandbox Code Playgroud)


Dan*_*ain 18

Modulo(mod,%)是剩余运算符.

2%2 = 0 (2/2 = 1 remainder 0)
1%2 = 1 (1/2 = 0 remainder 1)
4%2 = 0 (4/2 = 2 remainder 0)
5%2 = 1 (5/2 = 2 remainder 1)
Run Code Online (Sandbox Code Playgroud)

  • 并且"详细"解释:2 = 4·0 + 2 ;-) (3认同)

小智 11

如果你使用香蕉和一群人,会容易得多.

假设您有1个香蕉和6人组,您可以表达:1 mod 6/ 1 % 6/ 1 modulo 6.

你需要为团体中的每个人提供6个香蕉,以获得充足的食物和快乐.

所以,如果你有一个香蕉并且需要与6个人分享,但你只能分享如果每个团体成员有1个香蕉,即6个人,那么你将有1个香蕉(剩余部分,不分享给任何人)小组),2香蕉一样.然后你将有2个香蕉作为剩余(没有共享).

但是当你得到6个香蕉时,你应该感到高兴,因为每个成员中有6个香蕉,其余的是0或没有香蕉,当你分享6个人的所有6个香蕉时.

现在,对于7个香蕉和6个人组,你会有7 mod 6 = 1,这是因为你给了6个人每个1个香蕉,剩下1个香蕉.

对于12 mod 66人共用或12个香蕉,每个人将有两个香蕉,其余的则为0.


Joe*_*yle 8

2/4 = 0,余数为2


ski*_*erg 8

我也对此感到困惑,仅在几分钟前.然后我在一张纸上长时间地做了这个部门,这是有道理的:

  • 4进入2次零次.
  • 4次0为0.
  • 你将零置于2下,减去2.

这就是计算机将要解决这个问题.计算机停在那里并返回2,这是有道理的,因为这是"%"(mod)所要求的.

我们已经接受过训练,可以输入十进制数并继续使用,这就是为什么这可能会违反直觉原因.


p4b*_*bl0 7

有人联系我并要求我在问题评论中更详细地解释我的答案.所以这是我回答那个人的事情,以防它可以帮助其他人:

模运算为您提供欧几里德唯一的剩余部分(仅适用于整数,而不是实数).如果你有A这样A = B*C + D(D <B),那么A的B的欧几比德除法的商是C,余数是D.如果你将2除以4,则商是0,余数为2.

假设你有一个A对象(你无法切割).并且您希望将相同数量的这些对象分发给B人.只要你有超过B个对象,就给它们每个1,然后重复.如果剩下少于B个对象,则停止并保留其余对象.重复操作的次数,我们称之为数字C,是商.你保留在最后的对象数量,我们称之为D,是余数.

如果你有2个对象和4个人.您已经有少于4个对象.所以每个人得到0个对象,你保持2个.

这就是为什么2模4是2.


Dav*_*ton 5

mod表示除以时的余数。所以 2 除以 4 等于 0,还剩下 2。因此 2 mod 4 是 2。


小智 5

模运算符计算两个整数操作数的除法的余数.这里有一些例子:

23 % 10 evaluates to 3 (because 23/10 is 2 with a remainder of 3)
50 % 50 evaluates to 0 (50/50 is 1 with a remainder of 0)
9 % 100 evaluates to 9 (9/100 is 0 with a remainder of 9)
Run Code Online (Sandbox Code Playgroud)