Bij een gehele deling in C# verdwijnt het deel na de komma. Maar soms wil je
net weten wat er na de deling overblijft. Daarvoor gebruik je de
rest-operator %. Reken even mee:
Console.WriteLine(7 % 2);
Dit programma toont:
1
Bij 7 / 2 past 2 drie keer volledig in 7. Dat geeft een quotiënt van 3, maar
er blijft nog 1 over. Die overblijvende waarde noemen we de rest:
7 = 3 × 2 + 1
De operator / geeft bij twee gehele getallen het gehele quotiënt. De
operator % geeft de rest van diezelfde deling:
| Uitdrukking | Gehele deling | Rest |
|---|---|---|
7 / 2 en 7 % 2 | 3 | 1 |
9 / 5 en 9 % 5 | 1 | 4 |
25 / 4 en 25 % 4 | 6 | 1 |
20 / 5 en 20 % 5 | 4 | 0 |
Let op:
%betekent hier niet “procent”. In C# berekent%de rest na een gehele deling. Zo is17 % 5gelijk aan2, omdat 5 drie keer in 17 past en er 2 overblijft.
Als een getal volledig deelbaar is door een ander getal, blijft er niets
over. De rest is dan 0:
Console.WriteLine(20 % 5); // 0
Console.WriteLine(18 % 3); // 0
Console.WriteLine(17 % 5); // 2
Daarom kan je % gebruiken om te controleren of een getal deelbaar is door een
ander getal.
Een even getal is volledig deelbaar door 2. De rest bij deling door 2 is dus
0. Bij een oneven getal blijft er 1 over:
int getal = 14;
if (getal % 2 == 0)
{
Console.WriteLine("even");
}
else
{
Console.WriteLine("oneven");
}
De operatoren / en % vullen elkaar aan. Met / bepaal je hoeveel
volledige groepen je kan maken. Met % bepaal je hoeveel er daarna nog
overblijft.
Stel dat je 125 seconden wil omzetten naar minuten en seconden. Er passen twee volledige minuten in 125 seconden en daarna blijven er 5 seconden over:
int totaalSeconden = 125;
int minuten = totaalSeconden / 60; // 2
int seconden = totaalSeconden % 60; // 5
Console.WriteLine($"{minuten} minuten en {seconden} seconden");
Onthoud: bij een gehele deling vertelt
/hoeveel keer de deler volledig past. De operator%vertelt wat er daarna nog overblijft. Zo horen125 / 60en125 % 60bij dezelfde deling: het eerste resultaat is2, het tweede is5.