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?


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.


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

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)

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.



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.


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.


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)

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.


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

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.


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.


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.


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


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 :)


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

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.


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).


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")
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.