Zum Hauptinhalt springen

IT-Mathematik

Modulo-Arithmetik - Uhrenrechnen, Prüfziffern und Hashes

Teaser – volle Lektion nach Anmeldung

Lernziele dieser Lektion

  • Sie verstehen den Begriff Modulo (Restwert bei ganzzahliger Division) und können ihn anwenden
  • Sie können einfache Rechnungen im Uhrenrechnen (mod 12, mod 24, mod 60) durchführen
  • Sie verstehen, wie Prüfziffern (IBAN, ISBN, EAN) mit Modulo funktionieren
  • Sie erkennen Modulo als Grundbaustein von Hashfunktionen, Kryptographie und Scheduling-Algorithmen

Der Modulo-Operator

Wenn Sie 17 durch 5 teilen, bekommen Sie den Quotienten 3 und den Rest 2. Genau dieser Rest ist das Ergebnis der Modulo-Rechnung. In der IT heißt der Operator fast immer % oder mod.

Definition: a mod n

Seien aa eine ganze Zahl und nn eine positive ganze Zahl. Dann ist amodna \bmod n der Rest, der bei der ganzzahligen Division a:na : n übrig bleibt.

17mod5=2(weil 17=35+2)17 \bmod 5 = 2 \quad \text{(weil } 17 = 3 \cdot 5 + 2\text{)} 20mod5=0(weil 20=45+0)20 \bmod 5 = 0 \quad \text{(weil } 20 = 4 \cdot 5 + 0\text{)}

Das Ergebnis ist immer eine Zahl aus dem Bereich 0,1,2,,n10, 1, 2, \ldots, n-1.

Abkürzungs-Einführung: mod und DIV

  • mod (auch %): liefert den Rest einer ganzzahligen Division. Beispiel: 23mod7=223 \bmod 7 = 2.
  • DIV (auch // in Python, \ in VBA): liefert den ganzzahligen Quotienten. Beispiel: 23 DIV 7=323 \text{ DIV } 7 = 3.

Zusammen gilt: a=(a DIV n)n+(amodn)a = (a \text{ DIV } n) \cdot n + (a \bmod n)

Für a=23a = 23 und n=7n = 7: 23=37+223 = 3 \cdot 7 + 2. Passt.

Dies ist nur ein kurzer Auszug. Die vollständige Lektion mit interaktiven Übungen und Lernfortschritts-Tracking gibt es nach Einlösung eines Einschreibeschlüssels.