, when the result of the division
of two integers
cannot be expressed with an integer quotient
, the remainder
is the amount "left over."
The remainder for natural numbers
are natural numbers
, with d
non-zero, it can be proven that there exist unique integers q
, such that a
and 0 ≤ r
. The number q
is called the quotient
, while r
is called the remainder
The division algorithm
provides a proof of this result and also an algorithm describing how to calculate the remainder.
- When dividing 13 by 10, 1 is the quotient and 3 is the remainder, because 13=1×10+3.
- When dividing 26 by 4, 6 is the quotient and 2 is the remainder, because 26=6×4+2.
- When dividing 56 by 7, 8 is the quotient and 0 is the remainder, because 56=7×8+0.
- When dividing 3 by 10, 3 is the remainder as we always take the front number as the remainder when the second number is of higher value.
The case of general integers
are integers, with d
non-zero, then a remainder is an integer r
such that a
for some integer q
, and with 0 ≤ |r
| < |d
When defined this way, there are two possible remainders. For example, the division of −42 by −5 can be expressed as either
- −42 = 9×(−5) + 3
as is usual for mathematicians, or
- −42 = 8×(−5) + (−2).
So the remainder is then either 3 or −2.
This ambiguity in the value of the remainder can be quite serious computationally; for mission critical computing systems, the wrong choice can lead to dangerous consequences. In the case above, the negative remainder is obtained from the positive one just by subtracting 5, which is d. This holds in general. When dividing by d, if the positive remainder is r1, and the negative one is r2, then
- r1 = r2 + d.
The remainder for real numbers
are real numbers
, with d
can be divided by d
without remainder, with the quotient being another real number. If the quotient is constrained to being an integer however, the concept of remainder is still necessary. It can be proved that there exists a unique integer quotient q
and a unique real remainder r
such that a
|. As in the case of division of integers, the remainder could be required to be negative, that is, -|d
| < r
Extending the definition of remainder for real numbers as described above is not of theoretical importance in mathematics; however, many programming languages implement this definition — see modulo operation.
The inequality satisfied by the remainder
The way remainder was defined, in addition to the equality a
an inequality was also imposed, which was either 0≤ r
| or -|d
| < r
≤ 0. Such an inequality is necessary in order for the remainder to be unique — that is, for it to be well-defined. The choice of such an inequality is somewhat arbitrary. Any condition of the form x
| (or x
|), where x
is a constant, is enough to guarantee the uniqueness of the remainder.
Quotient and remainder in programming languages
With two choices for the inequality, there are two possible choices for the remainder, one is negative and the other is positive. This means that there are also two possible choices for the quotient. Usually, in number theory, we always choose the positive remainder. But programming languages do not. C99
choose the remainder with the same sign as the dividend a
. (Before C99, the C language allowed either choice.) Perl
choose the remainder with the same sign as the divisor d
- Davenport, Harold (1999). The higher arithmetic: an introduction to the theory of numbers. Cambridge, UK: Cambridge University Press.
- Zuckerman, Martin M Arithmetic: A Straightforward Approach. Lanham, Md: Rowman & Littlefield Publishers, Inc.