webentwicklung-frage-antwort-db.com.de

Warum ist 2 Mod 4 = 2?

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

Warum ist 2 Mod 4 = 2?

142
NewToThis

Mod bedeutet nur, dass Sie den Rest nach der Division nehmen. Da 4 in 2 Nullzeiten geht, endet der Rest mit 2.

144
Jarsen

Modulo ist der Rest, keine Division.

2 / 4 = 0R2
2 % 4 = 2

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

Für x % 4 erhalten Sie 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
94
Eric

Modulo (mod,%) ist der Rest-Operator. 

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)
18
Dan McClain

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

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

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

Wenn Sie also 1 Banane haben und diese mit 6 Personen teilen müssen, können Sie sie jedoch nur teilen, wenn Sie 1 Banane für jedes Gruppenmitglied haben, dh 6 Personen. Dann haben Sie 1 Banane (Rest, die von niemandem geteilt wird.) Gruppe), das gleiche gilt für 2 Bananen. Dann haben Sie 2 Bananen als Rest (nichts wird geteilt). 

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

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 den Rest darstellt. 

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

9
user3408091

2/4 = 0 mit einem Rest von 2

8
Joe Doyle

Ich war auch vor einigen Minuten verwirrt. Dann habe ich die Division lange auf einem Stück Papier gemacht und es machte Sinn:

  • 4 geht in 2 Nullzeiten über. 
  • 4 mal 0 ist 0. 
  • Sie setzen diese Null unter die 2 und subtrahieren, was 2 verlässt. 

Soweit wird der Computer dieses Problem lösen. Der Computer bleibt dort stehen und gibt die 2 zurück, was sinnvoll ist, da "%" (Mod) danach fragt. 

Wir sind darauf trainiert, die Dezimalzahl einzugeben und weiterzumachen, weshalb dies zunächst nicht intuitiv sein kann.

7
skillit zimberg

Jemand hat mich kontaktiert und mich gebeten, meine Antwort im Kommentar der Frage ausführlicher zu erläutern. Hier ist, was ich dieser Person antwortete, falls sie anderen helfen kann:

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

Angenommen, Sie haben A-Objekte (die Sie nicht schneiden können). Und du willst. verteilen Sie dieselbe Menge dieser Objekte an B-Personen. So lange wie Sie haben mehr als B-Objekte, Sie geben jedem von ihnen 1 und wiederholen .. ... Wenn Sie weniger als B Objekte haben, halten Sie an und behalten die verbleibenden Objekte. Wie oft Sie die Operation wiederholt haben, lassen Sie uns nennen Sie diese Nummer C, ist der Quotient. Die Anzahl der Objekte, die Sie bei .__ behalten. das Ende, 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.

7
p4bl0

Der Modulo-Operator wertet den Rest der Division der beiden Integer-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)
5
Cardenas

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

Angenommen, Sie haben ein Pixel auf einem Bildschirm an Position 90, an dem der Bildschirm 100 Pixel breit ist, und fügen 20 hinzu. Es wird auf Position 10 umbrochen.

Um es zu verstehen, betrachte ich das Modulo als 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

Umgesteuert zu:

                        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
4
Kris Kizlyk

mod bedeutet den Rest, wenn er durch geteilt wird. Also ist 2 geteilt durch 4 0 und 2 übrig. Daher ist 2 mod 4 2.

4
DaveJohnston

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

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

Wenn eine Modulo-Gleichung wie 2 % 4 geschrieben wird, teilen wir 2 by 4 (think 2 over 4) und geben den Rest zurück.

1
Kevin Bowersox

MOD ist Restoperator. Aus diesem Grund gibt 2 Mod 4 2 als Rest an. 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
Aamir kamaal

Der Mod-Betrieb funktioniert mit Erinnerung.

Dies wird als modulare Arithmetik bezeichnet.

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

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

1
jocopa3

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

A- Wie oft geht y ohne Rest in x? Für 2% 4 ist das 0.

B- Wie viel müssen Sie hinzufügen, um daraus wieder zu x zu gelangen? Um von 0 zurück zu 2 zu gelangen, benötigen Sie 2-0, d. H. 2.

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

Unter ganzzahlig sind nur ganze Zahlen und nicht Bruchteile von Interesse zu verstehen.

Ein Bruchteilungsunterteilungsrest (z. B. 283849) ist bei Modulo nicht von Interesse, da Modulo nur Ganzzahlen behandelt. 

1
elig

Zum: 

2 mod 4

Wir können diese kleine Formel verwenden, die ich mir ausgedacht habe, nachdem ich ein wenig nachgedacht hatte. Vielleicht ist sie schon irgendwo definiert, wo ich nicht weiß, aber sie arbeitet für mich und ist wirklich nützlich.

A mod B = C wobei C die Antwort ist

K * B - A = |C| Wobei K wie oft B in A passt

2 mod 4 wäre:

0 * 4 - 2 = |C|

C = |-2| => 2

Hoffe es klappt für dich :)

1
Daniel Sibaja

Dies ist der Euklid-Algorithmus.

z.B

a mod b = k * b + c => a mod b = c, wobei k eine ganze Zahl ist 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
Mergim Rama

Um visuell darüber nachzudenken, stellen Sie sich ein Ziffernblatt vor, das in Ihrem speziellen Beispiel nur auf 4 anstatt auf 12 geht. Wenn Sie bei 4 auf der Uhr beginnen (was wie bei Null anfängt) und im Uhrzeigersinn herumfahren 2 "Stunden", landen Sie auf 2, so wie Sie es für 6 "Stunden" im Uhrzeigersinn machen würden, und Sie würden auch auf 2 landen (6 Mod 4 == 2 genauso wie 2 Mod 4 == 2).

0
Anon

Dies ist ein guter Zeitpunkt, um die modr () - Funktion zu erwähnen. Es werden sowohl die gesamten als auch die restlichen Teile einer Division zurückgegeben.

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")
0
Science_1