Das Fotonexus-Wiki befindet sich im Testbetrieb.
Modulo (Rest)
Aus Fotonexus.
| <imagemap>-Fehler: Bild ist ungültig oder nicht vorhanden | Die Artikel Division mit Rest und Modulo (Rest) überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Die Diskussion über diese Überschneidungen findet hier statt. Bitte äußere dich dort, bevor du den Baustein entfernst. Markus Schmaus 11:52, 3. Nov. 2006 (CET) |
| Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Modulo_%28Rest%29, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation. |
Modulo (mit Betonung auf der ersten Silbe) oder mod ist eine insbesondere in der Informatik verbreitete Funktion, die den Rest aus der Division zweier Ganzzahlen angibt: (a mod m) bezeichnet also den (ganzzahligen) Rest aus der Division a:m. (In Programmiersprachen wird diese Funktion häufig durch den Operator % gekennzeichnet).
- Einfaches Beispiel: 7 mod 2 = 1 (7:2 = 3 Rest 1; ebenso ist 7 mod 3 = 1)
Es gibt zwei Varianten der Modulo-Funktion, die für negative Argumente unterschiedliche Ergebnisse liefern:
- "Mathematische Variante":
- Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): (a\;\bmod\;m)= a - \left \lfloor \frac{a}{m} \right \rfloor \cdot m
- Die Gaußklammer Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): \lfloor \cdot \rfloor
bezeichnet den ganzzahligen Wert der Division a:m, also ohne den Rest. Für diese Variante gilt stets
- Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): (a + km)\;\bmod\;m = a\;\bmod\;m\quad(k\in\mathbb Z),
- aber im Allgemeinen ist
- Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): (-a)\;\bmod\;m \ne-(a\;\bmod\;m),
z. B. Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): (-2)\;\bmod3=1\ne-2=-(2\;\bmod\;3)
.
- Ist Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): m
positiv, so ist Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): a\;\bmod\;m\geq0 für alle Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): a
.
- "Symmetrische Variante":
- Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): (a\;\bmod\;m) = a - m\cdot (a\,\operatorname{div}\,m);
- dabei bezeichnet Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): a\,\operatorname{div}\,m
den zur Null hin gerundeten Quotienten Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): a/m
. Für diese Variante gilt
- Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): (-a)\bmod m = -(a\bmod m)
,
- aber im Allgemeinen
- Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): (a + km)\;\bmod\;m\ne a\;\bmod\;m
, z. B. Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): (1 - 3)\;\bmod\;3=(-2)\;\bmod\;3=-2\ne 1=1\;\bmod\;3 .
- Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): a\;\bmod\;m
hat stets dasselbe Vorzeichen wie Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): a
, oder es gilt Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): a\;\bmod\;m = 0 .
In Programmiersprachen ist üblicherweise die zweite Variante implementiert. Gilt Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): a\geq 0
und Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): m>0
, so ergeben beide Varianten dasselbe Ergebnis.
Beispiele:
- 17 mod 3 = 2, da 17 = 5×3 + 2 („drei passt fünf mal in 17 und es bleiben zwei übrig“ – der Rest ist also zwei)
- 2 mod 3 = 2, da 2 = 0×3 + 2
- 3 mod 3 = 0, da 3 = 1×3 + 0
Wenn Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): (a\;\bmod\;n) = (b\;\bmod\;n) , dann folgt nicht daraus, dass Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): a = b
ist, sondern nur, dass sich Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): a und Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): b um ein ganzzahliges Vielfaches von Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): n unterscheiden. Eine derartige Gleichung kann auch einfacher mit Hilfe der in der Zahlentheorie verbreiteten Kongruenzrelation geschrieben werden.
Praktische Anwendungen
- In der Kalenderberechnung (z. B. die relativ komplizierte Berechnung des Osterdatums)
- IBAN
- In der Kryptografie, z.B. beim Diffie-Hellman-Schlüsselaustausch
Literatur
- "Basiswissen Zahlentheorie - Eine Einführung in Zahlen und Zahlenbereiche" - K. Reiss, G. Schmieder, Springer-Verlag Berlin Heidelberg New York, ISBN 3-540-21248-5
Siehe auch
- Berechnung der Ganzzahl einer Division mittels div
- Kongruenz (Zahlentheorie)
- Hash-Funktion und die dort genannten Verfahren
- Kleiner fermatscher Satz
- Satz von Euler
- Dualsystem (Umrechnen vom Dezimalsystem ins Dualsystem)
| Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort Modulo_%28Rest%29, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation. |
