## ::Modulo operation

### ::concepts

In computing, the **modulo** operation finds the remainder after division of one number by another (sometimes called *modulus*).

Given two positive numbers, *a* (the dividend) and *n* (the divisor), *a* **modulo** *n* (abbreviated as *a* mod *n*) is the remainder of the Euclidean division of *a* by *n*. For instance, the expression "5 mod 2" would evaluate to 1 because 5 divided by 2 leaves a quotient of 2 and a remainder of 1, while "9 mod 3" would evaluate to 0 because the division of 9 by 3 has a quotient of 3 and leaves a remainder of 0; there is nothing to subtract from 9 after multiplying 3 times 3. (Note that doing the division with a calculator will not show the result referred to here by this operation; the quotient will be expressed as a decimal fraction.)

Although typically performed with *a* and *n* both being integers, many computing systems allow other types of numeric operands. The range of numbers for an integer modulo of *n* is 0 to *n* − 1. (*n* mod 1 is always 0; *n* mod 0 is undefined, possibly resulting in a "Division by zero" error in computer programming languages) See modular arithmetic for an older and related convention applied in number theory.

When either *a* or *n* is negative, the naive definition breaks down and programming languages differ in how these values are defined.

**Modulo operation sections**

Intro Remainder calculation for the modulo operation Common pitfalls Modulo operation expression Performance issues Equivalencies See also Notes References

PREVIOUS: Intro | NEXT: Remainder calculation for the modulo operation |

<< | >> |

In computing, the **modulo** operation finds the remainder after division of one number by another (sometimes called *modulus*).

Given two positive numbers, *a* (the dividend) and *n* (the divisor), *a* **modulo** *n* (abbreviated as *a* mod *n*) is the remainder of the Euclidean division of *a* by *n*. For instance, the expression "5 mod 2" would evaluate to 1 because 5 divided by 2 leaves a quotient of 2 and a remainder of 1, while "9 mod 3" would evaluate to 0 because the division of 9 by 3 has a quotient of 3 and leaves a remainder of 0; there is nothing to subtract from 9 after multiplying 3 times 3. (Note that doing the division with a calculator will not show the result referred to here by this operation; the quotient will be expressed as a decimal fraction.)

Although typically performed with *a* and *n* both being integers, many computing systems allow other types of numeric operands. The range of numbers for an integer modulo of *n* is 0 to *n* − 1. (*n* mod 1 is always 0; *n* mod 0 is undefined, possibly resulting in a "Division by zero" error in computer programming languages) See modular arithmetic for an older and related convention applied in number theory.

When either *a* or *n* is negative, the naive definition breaks down and programming languages differ in how these values are defined.

**Modulo operation sections**

Intro Remainder calculation for the modulo operation Common pitfalls Modulo operation expression Performance issues Equivalencies See also Notes References

PREVIOUS: Intro | NEXT: Remainder calculation for the modulo operation |

<< | >> |