Modulo-Funktion
Eine Modulo-Funktion dividiert zwei Zahlen und gibt den Rest zurück. Sie benötigt dieselben Eingabewerte wie eine Division, gibt aber stattdessen den „übrig gebliebenen“ Wert und nicht das Ergebnis der Division aus. Zum Beispiel:
- 7 mod 3 = 1
- 8 mod 3 = 2
Wenn kein Rest vorhanden ist, lautet das Ergebnis null.
- 9 mod 3 = 0
In mathematischen Formeln wird der Modulo- oder „modulo“-Operator häufig mit einem Prozentzeichen dargestellt. Zum Beispiel kann 7 mod 3 als folgender Ausdruck geschrieben werden:
- 7 % 3 = 1
In der Informatik kann eine Modulo-Funktion je nach Programmiersprache als mod(x,y) oder ähnlich geschrieben werden. Zum Beispiel:
- mod(7,3) = 1
Die obige Funktion dividiert den ersten Wert (Dividend) durch den zweiten Wert (Divisor) und gibt den Rest zurück. Da 7 ÷ 3 = 2r1 ist, lautet das Ergebnis von mod(7,3) 1.
Anwendungen der Modulo-Funktion
Die Modulo-Funktion wird in der Programmierung auf verschiedene Weise eingesetzt. Da das Ergebnis kleiner als der Divisor sein muss, kann sie Ergebnisse auf einen bestimmten Bereich begrenzen. Beispielsweise kann mod(x,4) nur 0, 1, 2 oder 3 zurückgeben, sofern x eine Ganzzahl ist. Sie eignet sich zum Überprüfen jedes n-ten Werts oder zum Einordnen von Ergebnissen in eine begrenzte Anzahl von „Kategorien“.
In den meisten Programmiersprachen wird 0 als falsch ausgewertet, während andere Zahlen als wahr ausgewertet werden. Daher kann eine Modulo-Funktion ein boolesches Ergebnis liefern – false, wenn zwei Zahlen ohne Rest teilbar sind, und true, wenn dies nicht der Fall ist. Unten sehen Sie ein Beispiel für eine Modulo-Funktion innerhalb einer if-Anweisung:
if (mod(x,5)) then { ... }
Wenn x nicht ohne Rest durch 5 teilbar ist, wird der Code in der then-Klausel ausgeführt. Wenn x durch fünf teilbar ist – 5, 10, 15, 20 usw. –, wird der Code nicht ausgeführt.
NOTE: Modulo-Funktionen haben häufig zwei Ganzzahlen als Argumente. Allerdings sind auch Gleitkommazahlen zulässig. Zwei ganzzahlige Werte ergeben immer eine Ganzzahl, aber eine oder mehrere gebrochene Eingaben können ein gebrochenes Ergebnis liefern. Beispielsweise gilt 8 % 2.5 = 0.5, da 8 ÷ 2.5 = 3r0.5 ist.
Testen Sie Ihr Wissen