Warum ist 2 mod 4 = 2?

150

Es ist mir peinlich, eine so einfache Frage zu stellen. Meine Amtszeit beginnt erst nach zwei Wochen, daher kann ich keinen Professor fragen, und die Spannung würde mich umbringen.

Warum ist 2 mod 4 = 2?

NewToThis
quelle
45
Weil 2 = 0 * 4 + 2.
p4bl0
1
In x / y besteht das Ergebnis aus einem ganzzahligen Teil und einem Bruchteil. Wenn Sie den Bruchteil mit dem Divisor multiplizieren, erhalten Sie den Rest. Und x = ganzzahliger Teil y + Rest (dh Bruchteil y). In diesem Fall ist der ganzzahlige Teil 0 und der Rest ist 2.
mshsayem
76
Ich bin froh, dass Sie den Mut hatten, diese Frage zu stellen.
ebnen
Das Modulo ist weit davon entfernt, zwei Zahlen zu teilen .
Holex

Antworten:

151

Mod bedeutet nur, dass Sie den Rest nach der Division übernehmen. Da 4 mal 2 in 2 geht, erhalten Sie einen Rest von 2.

Jarsen
quelle
95

Modulo ist der Rest, nicht die Teilung.

2 / 4 = 0R2
2 % 4 = 2

Das Zeichen %wird häufig für den Modulo-Operator anstelle des Wortes verwendet mod.

Für erhalten x % 4Sie die folgende Tabelle (für 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
Eric
quelle
18

Modulo (mod,%) ist der Restoperator.

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)
Dan McClain
quelle
3
Und "ausführliche" Erklärung: 2 = 4 · 0 + 2 ;-)
Michael Krelin - Hacker
13

Viel einfacher, wenn Sie Bananen und eine Gruppe von Menschen verwenden.

Angenommen, Sie haben 1 Banane und eine Gruppe von 6 Personen, dies würden Sie ausdrücken: 1 mod 6/ 1 % 6/ 1 modulo 6.

Sie benötigen 6 Bananen für jede Person in der Gruppe, um satt und glücklich zu sein.

Wenn Sie also 1 Banane haben und diese mit 6 Personen teilen müssen, aber nur teilen können, wenn Sie 1 Banane für jedes Gruppenmitglied haben, dh 6 Personen, dann haben Sie 1 Banane (Rest, der an niemanden weitergegeben wird) Gruppe), das gleiche gilt für 2 Bananen. Dann haben Sie 2 Bananen als Rest (nichts wird geteilt).

Aber wenn Sie 6 Bananen bekommen, sollten Sie glücklich sein, denn dann gibt es 1 Banane für jedes Mitglied in einer Gruppe von 6 Personen, und der Rest ist 0 oder keine Bananen mehr, wenn Sie alle 6 Bananen auf 6 Personen geteilt haben.

Nun, für 7 Bananen und 6 Personen in der Gruppe haben Sie dann 7 mod 6 = 1, weil Sie 6 Personen jeweils 1 Banane gegeben haben und 1 Banane der Rest ist.

Für 12 mod 6oder 12 Bananen, die auf 6 Personen geteilt werden, hat jede zwei Bananen, und der Rest ist dann 0.

user3408091
quelle
8

2/4 = 0 mit einem Rest von 2

Joe Doyle
quelle
8

Auch darüber war ich erst vor wenigen Minuten verwirrt. Dann habe ich die Teilung lange auf einem Stück Papier gemacht und es machte Sinn:

  • 4 geht in 2 Null mal.
  • 4 mal 0 ist 0.
  • Sie setzen diese Null unter die 2 und subtrahieren, wodurch 2 übrig bleibt.

Das ist so weit, wie der Computer dieses Problem lösen wird. Der Computer stoppt dort und gibt die 2 zurück, was sinnvoll ist, da "%" (mod) danach fragt.

Wir wurden darauf trainiert, Dezimalzahlen einzugeben und weiterzumachen, weshalb dies zunächst nicht intuitiv sein kann.

Skillit Zimberg
quelle
7

Jemand hat mich kontaktiert und mich gebeten, meine Antwort im Kommentar der Frage näher zu erläutern. Also hier ist, was ich dieser Person geantwortet habe, falls es jemand anderem helfen kann:

Die Modulo-Operation gibt Ihnen den Rest der euklidischen Disivion (die nur mit ganzzahligen, nicht reellen Zahlen funktioniert). Wenn Sie A so haben, dass A = B * C + D (mit D <B), dann ist der Quotient der euklidischen Division von A durch B C und der Rest ist D. Wenn Sie 2 durch 4 teilen, ist der Quotient 0 und der Rest ist 2.

Angenommen, Sie haben A-Objekte (die Sie nicht schneiden können). Und Sie möchten die gleiche Menge dieser Objekte an B Personen verteilen. Solange Sie mehr als B Objekte haben, geben Sie jedem von ihnen 1 und wiederholen. Wenn Sie weniger als B Objekte übrig haben, halten Sie an und behalten die verbleibenden Objekte. Die Häufigkeit, mit der Sie die Operation wiederholt haben, nennen wir diese Nummer C, ist der Quotient. Die Anzahl der Objekte, die Sie am Ende behalten, nennen wir es D, ist der Rest.

Wenn Sie 2 Objekte und 4 Personen haben. Sie haben bereits weniger als 4 Objekte. So erhält jede Person 0 Objekte und Sie behalten 2.

Deshalb ist 2 Modulo 4 2.

p4bl0
quelle
5

Der Modulo-Operator wertet den Rest der Division der beiden ganzzahligen Operanden aus. Hier einige Beispiele:

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)
Cardenas
quelle
4

mod bedeutet den Reaminder, wenn er durch geteilt wird. Also 2 geteilt durch 4 ist 0 mit 2 verbleibenden. Daher ist 2 mod 4 2.

DaveJohnston
quelle
4

Modulo ist der Rest, ausgedrückt als Ganzzahl, eines mathematischen Divisionsausdrucks.

Nehmen wir also an, Sie haben ein Pixel auf einem Bildschirm an Position 90, wo der Bildschirm 100 Pixel breit ist, und addieren 20, es wird um Position 10 gewickelt. Warum ... weil 90 + 20 = 110, also 110% 100 = 10.

Um es zu verstehen, halte ich das Modulo für die ganzzahlige Darstellung der Bruchzahl. Wenn Sie den Ausdruck rückwärts ausführen und den Rest als Bruchzahl verarbeiten und dann zum Divisor hinzufügen, erhalten Sie Ihre ursprüngliche Antwort.

Beispiele:

    100
(A) ---  =  14 mod 2
     7

    123
(B) ---  =  8 mod 3
     15

     3
(C) ---  =  0 mod 3
     4

Umgekehrt entwickelt für:

                        2      14(7)    2       98    2     100
 (A) 14 mod 2  =  14 + ---  =  ----- + ---  =  --- + ---  = ---
                        7        7      7       7     7      7

                      3      8(15)    3      120    3      123
 (B) 8 mod 3  =  8 + ---  =  ----- + ---  =  --- + ---  =  ---
                      15       15     15      15    15      15

                      3       3
 (B) 0 mod 3  =  0 + ---  =  ---
                      4       4
Kris Kizlyk
quelle
2

Wenn Sie 2 durch 4 teilen, erhalten Sie 0, wobei 2 übrig bleiben oder übrig bleiben. Modulo ist nur der Rest nach dem Teilen der Zahl.

jocopa3
quelle
1

Ich denke, Sie sind verwirrt darüber, wie die Modulo-Gleichung gelesen wird.

Wenn wir eine Divisionsgleichung schreiben, wie 2/4wir 2 durch 4 teilen.

Wenn eine Modulo-Gleichung geschrieben wird, wie 2 % 4wir sie teilen 2 by 4(denken Sie an 2 über 4) und den Rest zurückgeben.

Kevin Bowersox
quelle
1

MOD ist der Restoperator. Deshalb gibt 2 mod 4 2 als Rest. 4 * 0 = 0 und dann 2-0 = 2. Um es klarer zu machen, versuchen Sie es mit 6 Mod 4 oder 8 Mod 3.

Aamir Kamaal
quelle
1

Dies ist der Euklid-Algorithmus.

z.B

a mod b = k * b + c => a mod b = c, wobei k eine ganze Zahl und c die Antwort ist

4 mod 2 = 2 * 2 + 0 => 4 mod 2 = 0

27 mod 5 = 5 * 5 + 2 => 27 mod 5 = 2

Ihre Antwort lautet also

2 mod 4 = 0 * 4 + 2 => 2 mod 4 = 2

Mergim Rama
quelle
1

Zum:

2 mod 4

Wir können diese kleine Formel verwenden, die ich mir ausgedacht habe. Vielleicht ist sie bereits an einer Stelle definiert, die ich nicht kenne, die aber für mich funktioniert, und sie ist wirklich nützlich.

A mod B = C wo C ist die Antwort

K * B - A = |C| wobei K ist, wie oft B in A passt

2 mod 4 wäre:

0 * 4 - 2 = |C|

C = |-2| => 2

Hoffe es funktioniert bei dir :)

Daniel Sibaja
quelle
1

Mod Operation funktioniert mit Erinnerung.

Dies nennt man modulare Arithmetik.

 a==b(mod m) 
 then m|(a-b)
 a-b=km 
 a=b+km
 So, 2=2+0*4
Raju
quelle
1

Um ein Modulo zu beantworten x % y, stellen Sie zwei Fragen:

A- Wie oft ygeht es xohne Rest rein? Für 2% 4 ist das 0.

B- Wie viel müssen Sie hinzufügen, um davon zurück zu kommen x? Um von 0 zurück auf 2 zu gelangen, benötigen Sie 2-0, dh 2.

Diese können in einer Frage wie folgt zusammengefasst werden: Wie viel müssen Sie zum ganzzahligen Ergebnis der Division von xdurch hinzufügen y, um wieder zu kommen x?

Mit ganzzahlig sind nur ganze Zahlen und keine Brüche von Interesse.

Ein Bruchteilungsrest (z. B. 283849) ist für Modulo nicht von Interesse, da Modulo nur ganzzahlige Zahlen behandelt.

Elig
quelle
0

Um visuell darüber nachzudenken, stellen Sie sich ein Zifferblatt vor, das in Ihrem Beispiel nur auf 4 statt auf 12 geht. Wenn Sie bei 4 auf der Uhr beginnen (was wie bei Null beginnt) und es im Uhrzeigersinn umgehen 2 "Stunden", du landest auf 2, genau wie wenn du 6 "Stunden" im Uhrzeigersinn herumläufst, landest du auch auf 2 (6 mod 4 == 2 genau wie 2 mod 4 == 2).

Anon
quelle
6
Das ist eigentlich ziemlich verwirrend.
Joe Phillips
@ do3boy: Die Idee des Zifferblatts ist eine sehr einfache Methode, um die Tatsache des Modulos genau zu beschreiben. mit der Ausnahme, dass es einfacher gewesen wäre, das 24-Stunden-Format zur Erklärung zu verwenden, als die Anzahl der verfügbaren Positionen zu ändern.
Atmocreations
0

Dies könnte ein guter Zeitpunkt sein, um die Funktion modr () zu erwähnen. Es gibt sowohl den gesamten als auch den Rest eines Geschäftsbereichs zurück.

print("\n 17 // 3 =",17//3," # Does the same thing as int(17/3)")
print(" 17 %  3 =",17%3," # Modulo division gives the remainder.")
whole, remain = divmod(17,3)
print(" divmod(17,3) returns ->",divmod(17,3),end="")
print(" because 3 goes into 17,",whole,"times with a remainder of",remain,end=".\n\n")
user10637953
quelle