De operaties div en mod passen we alleen toe op gehele getallen.
De bewerking div is een geheeltallige deling. Hierbij wordt bij een
deling alleen het gehele getal behouden, de rest wordt genegeerd. We
kunnen stellen dat 7div3=2, want 3 past 2x in
7. De rest (1) wordt genegeerd.
Voorbeelden:
7div317div515div5123456div10====23312345
De bewerking modulo (of kortweg mod) is de rest van een
deling. Het is dus de rest die overblijft na het uitvoeren van een
div.
Voorbeelden:
7mod317mod515mod5123456mod10====1206
Achtergrond (geen lesstof)
Gegeven de volgende stelling:
∀x,n∈N:∃q,r∈N:r<n∧q⋅n+r=x
Hier staat: voor alle natuurlijke getallen (gehele getallen ≥0)
x en n bestaan natuurlijke getallen q en r, waarbij r
kleiner is dan n en q⋅n+r=x.
In de stelling hierboven kun je stellen dat q=xdivn en r=xmodn
Hoe gebruik je div en mod?
In code
Python
x = 17 // 5 # div : 3y = 17 % 5 # mod : 2
Let op: de // is bedoeld voor div en de / wordt gebruikt voor
een normale deling
C# / C++
int x = 17 / 5 // div : 3int y = 17 % 5 // mod : 2
In C# wordt de / zowel gebruikt voor een normale deling als voor de
div. De werking van / is afhankelijk van het getal wat ervoor
staat. In het bovengenoemde voorbeeld staat er een geheel getal (17),
waardoor een div wordt uitgevoegd.
Als er 17.0 / 5 had gestaan, dan voert C# een normale deling uit.
x kan dan geen int zijn, maar zou dan een double of float
moeten zijn.
Negatieve getallen
We willen graag bepalen: −5div9 en −5mod9. Je zou kunnen stellen dat: