2.9. The Modulus OperatorΒΆ

Not all math operators in C++ work on any numeric data type. The modulus operator works on integers (and integer expressions) only 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.

Although modulus is a curiosity in a typical algebra class, it has many useful applications in algorithms. 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.

You have attempted of activities on this page