我很尴尬地问这么简单的问题.我的任期不会再开始两周,所以我不能问一位教授,这个悬念会杀了我.
为什么2 mod 4 = 2?
Mod只是意味着你在执行除法后取余数.由于4进入2次零次,你最终得到2的余数.
模数是余数,而不是除法.
2 / 4 = 0R2 2 % 4 = 2
该符号%
通常用于模运算符,代替单词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
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)
如果你使用香蕉和一群人,会容易得多.
假设您有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 6
6人共用或12个香蕉,每个人将有两个香蕉,其余的则为0.
2/4 = 0,余数为2
我也对此感到困惑,仅在几分钟前.然后我在一张纸上长时间地做了这个部门,这是有道理的:
4进入2次零次.
4次0为0.
你将零置于2下,减去2.
这就是计算机将要解决这个问题.计算机停在那里并返回2,这是有道理的,因为这是"%"(mod)所要求的.
我们已经接受过训练,可以输入十进制数并继续使用,这就是为什么这可能会违反直觉原因.
有人联系我并要求我在问题评论中更详细地解释我的答案.所以这是我回答那个人的事情,以防它可以帮助其他人:
模运算为您提供欧几里德唯一的剩余部分(仅适用于整数,而不是实数).如果你有A这样A = B*C + D(D
假设你有一个A对象(你无法切割).并且您希望将相同数量的这些对象分发给B人.只要你有超过B个对象,就给它们每个1,然后重复.如果剩下少于B个对象,则停止并保留其余对象.重复操作的次数,我们称之为数字C,是商.你保留在最后的对象数量,我们称之为D,是余数.
如果你有2个对象和4个人.您已经有少于4个对象.所以每个人得到0个对象,你保持2个.
这就是为什么2模4是2.
模运算符计算两个整数操作数的除法的余数.这里有一些例子:
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)