4.1. The Modulus OperatorΒΆ
The modulus operator works on integers (and integer expressions) and
yields the remainder when the first operand is divided by the second.
In C++, the modulus operator is a percent sign, %
. The syntax is exactly
the same as for other operators:
This program shows the difference between the division operator and the modulus operator.
The first operator, integer division, yields 2. The second operator yields 1. Thus, 7 divided by 3 is 2 with 1 left over.
The modulus operator turns out to be surprisingly useful. For example,
you can check whether one number is divisible by another: if x % y
is
zero, then x is divisible by y.
Also, you can use the modulus operator to extract the rightmost digit or
digits from a number. For example, x % 10
yields the rightmost digit of
x (in base 10). Similarly x % 100
yields the last two digits.
- Use x % 2, and if the result is 0, it is odd.
- If you divide a number by two and it has no remainder, that means it is an even number!
- Use x % 2, and if the result is 1, it is odd.
- If you divide a number by two and it has a remainder of one, that means it is an odd number!
- Use x / 2, and if the result is 0, it is odd.
- Dividing a number by two won't give us the information we want.
- Use x / 2, and if the result is 1, it is odd.
- Dividing a number by two won't give us the information we want.
Q-2: How do you know whether the variable x is odd?
-
Q-3: Match the modulo expression to its result.
Try again!
- 3 % 2
- 1
- 2 % 3
- 2
- 6 % 2
- 0
- 9 % 6
- 3