当第一个数字较小时,模运算如何工作?

时间:2009-10-08 04:39:10

标签: modulo

我正在搞乱python中的模运算,我明白它会吐出余数。

但是,如果第一个数字小于第二个数字怎么办?

例如

2%5答案是2。

这是如何运作的?

2/5 = .4

18 个答案:

答案 0 :(得分:44)

这有用吗

22  % 5 = 2 
17  % 5 = 2 
12  % 5 = 2 
7   % 5 = 2 
2   % 5 = 2

也许这个

22 / 5 = 4 + 2/5
17 / 5 = 3 + 2/5
12 / 5 = 2 + 2/5
7  / 5 = 1 + 2/5
2  / 5 = 0 + 2/5

答案 1 :(得分:27)

五次进入2次零次。

5 * 0 = 0

2-0 = 2。

答案是2

答案 2 :(得分:15)

2除以5(整数除法)为0,余数为2.

答案 3 :(得分:11)

2 = 0 x 5 + 2

答案 4 :(得分:9)

  

例如2%5答案是2.这是如何工作的? 2/5 = .4!

模数固有地产生整数结果,而除法可以是整数或浮点运算。您对2/5等于0.4的观察表明您正在考虑浮点数。在这种情况下,.4本身 其余部分,表达方式不同。 “0.4”的积分部分为“0”,余数部分为“.4”。整数除法运算的其余部分与浮点运算的小数(或“十进制”)部分完全相同,只是表达方式不同。

你的例子的小数部分,0.4,可以表示为0.4或2/5(五分之二);无论哪种方式都是一样的。注意,当它被写为2/5时,小数部分的分母(除数)与原问题的分母(除数)相同,而小数部分的分子(被除数)则被称为整数除法中的“余数”。无论你怎么看,商的 小数部分 余数 代表相同的东西(分红的 部分不能被除数 平均分割,只是表达方式不同。

答案 5 :(得分:6)

当第一个数字较小时,很容易弄清楚模数的结果。结果始终等于第一个(较小的)数字

3 % 5 = 3
5 % 10 = 5
78 % 112 = 78

亲自试试。

答案 6 :(得分:5)

您可以将其视为2/5 = 0,其余为2的5。

答案 7 :(得分:3)

如果第一个数字较小,则答案再次是该第一个数字。

因为第二个数字较大,所以它“进入”第一个数字零次,其余为第一个数字的整体。

答案 8 :(得分:2)

余数中的分子是你的模数答案,无论,分子是大于还是小于分母。

12 % 5 = 2 , because 12 / 5 = 2 and **2**/5

9 % 2 = 1 , because 9 / 2 = 4 and **1**/2

这可能更有意义。

5 % 89 = 5 , because 5 / 89 = 0 and **5**/89

5 % 365 = 5 , because 5 / 365 = 0 and **5**/365

5 % 6 = 5 , because 5 / 6 = 0 and **5**/6

答案 9 :(得分:2)

另外需要注意的是,如果第一个数字(a)是负数,则答案始终是第二个数字与第一个数字(n-a)的差异。

示例:a%n

  1. -5%7 = 2 ---> 7 - 5 = 2
  2. 4%-9 = -5 ---> 9 - 4 = -5(遵循较大数字的符号)
  3. 如果两个数字均为负数,则答案将始终为负数,该数字等于较小的数字。

    1. -5%-7 = -5
    2. -4%-9 = -4

答案 10 :(得分:1)

a%b = a/b=c,
      c*b=d,
      a-d=modulo;

这就是python在修改两个数字时所做的事情。较小数字和较大数字之间的模数将始终是较小的数字。

答案 11 :(得分:1)

就像我们这些没有数学头脑的人的后续行动一样,我认为理解这一点的部分问题在于这个概念通常被简化为“当你将 x 除以 y 时剩下的东西”,即,当 x 较小时,什么都不是,也就是 0。我更能证明失败的方法可能是说

  1. y 完全进入 x 多少次?
  2. 取那个数,乘以 y 以尽可能接近 x
  3. 现在从 x 中减去您从第 2 步中得到的值,这就是您的模数。

所以在 2(作为 x)% 5(作为 y):

  1. 5 完全没有进入 2,所以,0
  2. 0(上述步骤的结果)乘以 5(又名 y)是 0
  3. 2(aka x) - 0(上一步的乘积)是 2

答案 12 :(得分:1)

没有任何数字可以乘以<body> <!-- NAVBAR --> <nav class="logo"> <ul> <li><img src="images/Mlogo.png"></li> </ul> </nav> <nav class="header"> <ul> <li style="margin-left: 15%"><a href="index2.html">Home</a></li> <li><a href="#contact">Contact Us</a></li> <li><a href="#Services">Our Service</a></li> <li><a href="#Map">Interactive Weather Map</a></li> <li style="float:right; margin-right: 15%"><a href="#Login">Log In</a></li> <li style="float:right;"><a href="#Signup">Sign Up</a></li> </ul> </nav> <!-- END NAV --> <!-- MAIN BODY --> <div class="wrap"> <!-- LOCAL WEATHER --> <div class="local"> <p>THIS IS A TEST Spicy jalapeno bacon ipsum dolor amet exercitation pig sausage, rump deserunt cow porchetta. Tenderloin strip steak brisket, meatloaf elit drumstick quis salami irure leberkas frankfurter. Aliqua ut ad, chicken biltong salami bresaola turkey labore ball tip short ribs in. Swine in ut short ribs. Ullamco in meatball venison. Ham hock aliquip dolore cupidatat est. Proident non tri-tip, tempor drumstick mollit veniam ham leberkas laborum tongue filet mignon in deserunt. Esse tempor aliquip ullamco pork, picanha deserunt dolore pastrami lorem. Swine strip steak fatback beef ribs, incididunt esse cupim non. Tempor shankle jowl picanha exercitation salami. Pastrami tri-tip laboris culpa. Meatball ribeye prosciutto doner eiusmod dolore. Cupim shank spare ribs ground round sausage. Brisket tail ground round turducken ullamco tongue drumstick anim duis lorem. Commodo labore prosciutto tri-tip capicola ut burgdoggen pig dolore laborum pork adipisicing tail duis. Reprehenderit aliqua tail corned beef. Porchetta ribeye nulla laboris. Corned beef et doner, brisket laboris proident pork loin irure qui ipsum. Ut aliqua strip steak, labore boudin pork esse salami ut burgdoggen occaecat landjaeger consectetur lorem aliquip. Pork chop brisket andouille veniam proident boudin deserunt doner. Doner pork belly shoulder chicken in eu pariatur, pork chop dolor culpa duis ground round sint in picanha. Sunt drumstick consectetur, fugiat nisi meatball aute ex do boudin est ea adipisicing magna ad. Reprehenderit cow meatloaf ham hock irure turkey id aliquip brisket. Prosciutto cillum meatball non tenderloin sed. Chicken doner sausage, jowl adipisicing pork belly landjaeger ut strip steak tri-tip exercitation ea non cupim. Fatback rump officia excepteur prosciutto lorem fugiat tri-tip in pork belly. Short ribs ut filet mignon, sint enim hamburger prosciutto voluptate in alcatra tongue rump duis sirloin ribeye. Reprehenderit esse ut, turducken fugiat consectetur tongue. Meatball short ribs do, enim burgdoggen ut swine rump labore. Cillum leberkas corned beef, pig et ex nostrud turkey. Excepteur doner tenderloin short ribs ut ut incididunt sint. Ball tip pastrami eu fugiat venison mollit pork lorem. Reprehenderit ball tip proident cillum capicola. Porchetta frankfurter sed tail. Reprehenderit meatball ham hock deserunt aliquip jowl in pig incididunt exercitation beef laborum. Elit ipsum porchetta, ut veniam pork loin ea in sint enim consectetur. Shankle pork loin sirloin excepteur veniam t-bone. In officia drumstick, consequat est beef ribs adipisicing. Pariatur alcatra swine flank eu deserunt jerky veniam ex pork. Bresaola ullamco short loin, enim spare ribs ground round flank deserunt swine irure dolore cow pork belly velit ribeye. Hamburger esse minim sirloin ribeye tongue quis consectetur. Veniam jerky voluptate sed beef. Chicken ut elit short ribs sirloin. Sed ut kielbasa capicola tail pastrami in non. Venison occaecat proident laborum aliquip ad ham hock short ribs et frankfurter ea shoulder corned beef laboris deserunt. Rump ham pork tempor tail ham hock. Picanha turkey ea, dolore ipsum swine elit short loin short ribs ut strip steak pork chop. Sirloin shank burgdoggen frankfurter, occaecat sausage velit ex tongue turkey reprehenderit. Shank do duis eiusmod ball tip brisket ex shankle quis sint bacon anim andouille corned beef. Hamburger turkey in, ea in pork dolore ribeye irure tail. Laborum boudin adipisicing spare ribs dolore consectetur meatloaf reprehenderit, esse aliqua. Brisket est burgdoggen jerky sint pancetta. Aute eu cupidatat ground round leberkas t-bone andouille beef ribs pastrami esse mollit shank. Id jerky pancetta voluptate chuck kevin hamburger ham hock. Minim porchetta qui, frankfurter meatball nostrud dolore prosciutto dolore velit ad. Officia mollit occaecat duis meatloaf, ground round brisket sausage swine consectetur ipsum short loin cow. Commodo short loin short ribs ad aliquip. Picanha ut jerky, aliquip capicola sed esse venison salami fugiat magna ground round nostrud excepteur kevin. Voluptate meatloaf brisket tail qui jerky kielbasa bresaola aute cupidatat pork mollit. Est laboris nisi ut ut ipsum beef chuck, reprehenderit corned beef velit brisket sint shoulder. Officia rump incididunt dolor brisket qui.</p> <!-- <img src="images/weatherphoto.png"> --> </div>以使您更接近5

换句话说,2必须x才能满足等式:0

答案 13 :(得分:1)

MOD不能用十进制... MOD(A,B)你想要结果在哪里A.

答案 14 :(得分:1)

a%b = a if a&lt;&lt; B'/ P>

答案 15 :(得分:0)

要了解模块化算术,建议您去汗学院,并阅读他们的帖子。他们还在同一页面上有互动练习问题。这是链接:https://www.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/what-is-modular-arithmetic

简而言之:

使用以下公式:

A = BQ + R

A 股息

B 除数

Q

R 余数,是取模的结果。

Q =(A / B)

请记住,Q总是接近最接近的最小整数。因此,如果Q = 0.2,则Q = 0.0。如果Q = -1.2,则Q = -2.0。


您的问题:

Q =(2/5)= 0.4,所以Q = 0。

将其插入'A = BQ + R':

2 = 5 * 0 + R

所以,R = 2。


希望这会有所帮助。正如我说的,您可以在Khan Academy上了解更多信息。这是链接:https://www.khanacademy.org/computing/computer-science/cryptography/modarithmetic/a/what-is-modular-arithmetic

答案 16 :(得分:0)

如果是2%5 = 2: 在实数中,余数为0,商为0.4 但是在编程中,它看到2小于5意味着5 * 1 = 5,所以它变低并仅将其除以0就变得更小,即为0。因此余数变为2,因为2-0 = 2;)

答案 17 :(得分:-1)

Modulo 通过在除法后给出余数来工作,它有用的一件事是
- 查找数字是否为偶数
代码示例:

// 4 % 2 means "2 divided by 2 is what, and what is the remainder? if I have a remainder, return it or else return 0"
if(4 % 2 == 0) {
  alert("2 is even");
} else {
  alert("2 is odd");
}

因此,如果 4 % 2 的余数为 0,则为偶数,否则为奇数。