整数の範囲では上述のような整数 q が定まる保証はなく、たとえば被除数 m が 7 の場合を考えると除数 n が 1, 7, −1, −7 のいずれかでない限り商 q は整数の範囲で定まらない。整数の範囲で商が必ず定まるようにするには、剰余(じょうよ、英: remainder, residue)を導入して除法を拡張する必要がある。つまり、方程式m = qn + r
を満たすような q, r をそれぞれ商と剰余として与える。このような方程式を満たす整数 q, r は複数存在するが(たとえばある q, r に対して q − 1 と n + r の組は同様に上記の方程式を満たす)、剰余 r の取り得る値に制限を与えて一意に商 q と剰余 r の組を定めることができる。よく用いられる方法は剰余 r を除数 n より絶対値が小さな非負の数と定めることである。このような除法はユークリッド除法と呼ばれる。m = qn + r かつ0 ≤ r < |n|
これは、感覚的には被除数から除数を引けるだけ引いた残りを剰余と定めているということである。こうして定められる剰余はしばしば「m の n を法とする剰余」「m の法 n に関する剰余 (英: residue modulo "n") 」などと言い表される。剰余rが0でないことはしばしば「mはnで割り切れない」と表され、記号的に n ∤ m と表される。ユークリッド除法による計算例は以下の通りである。以下では除数を 4, −4, 被除数を 22, −22 としている。
0 ≤ r < |n|
22 = 5 × 4 + 2:商 5, 剰余 222 = (−5) × (−4) + 2:商 −5, 剰余 2−22 = (−6) × 4 + 2:商 −6, 剰余 2−22 = 6 × (−4) + 2:商 6, 剰余 2
「割り切れない」という用語はしばしば「小数点以下が無限に続く」の意で不適切に用いられることがあるが、「割り切れない」からといってそうであるとは限らない(たとえば上記の例では、「22は4で割り切れない」が、その有理数除算における商は「5.5」であり小数第一位までで表すことが出来る)。 他の剰余に対する制限方法として、剰余の絶対値が最小となるよう商を定める方法がある。この方法では、−|n|/2 < r ≤ |n|/2 あるいは−|n|/2 ≤ r < |n|/2 の範囲に剰余 r が含まれる。この場合、ユークリッド除法と違い r は負の値を取り得る。このように定められる剰余を絶対的最小剰余 (絶対値最小剰余とも。英: least absolute remainder, absolutely least residue, minimal residue) と呼ぶ。絶対的最小剰余を用いる場合の計算例は以下の通りである。以下では除数を 4, −4, 被除数を 22, −22 としている。 いずれの方法であっても、除数 n が0の場合、剰余 r は0でなければならず、被除数 m がどんな数であっても商qを一意に定めることはできない。絶対的最小剰余とユークリッド除法によって定められる最小非負剰余、あるいは別の方法のいずれを用いるかは自由であり、与えられる剰余がそのいずれかであるかは予め決められた規約に従う。この規約は、計算する対象や計算機の機種、あるいはプログラミング言語により、まちまちである。簡単な分析とサーベイが "Division and Modulus for Computer Scientists" という文献にまとめられている[2]。 整数の除法では、考えている数(自然数または整数)の範囲内で商を取り直して剰余を定義することで、除法をその数の範囲全体で定義できることを述べた。さらに、よく知られているように、数の範囲を有理数まで拡張し、商に有理数を許すことによって、剰余の概念は不要となり、有理数の全体で四則演算が自由に行えるようになる。 任意の被除数 a の 0 でない除数 b による除算は、有理数 c をただ一つ与える。 a ÷ b = c {\displaystyle a\div b=c} この有理数 c は c × b = b × c = a {\displaystyle c\times b=b\times c=a} を満たす。また、除算は、除数の逆数の乗算に置き換えることができる。 a ÷ b = a × 1 b {\displaystyle a\div b=a\times {\frac {1}{b}}} したがって、除算および乗算の順序は入れ替えることができる。 ( a ÷ b ) × c = ( a × 1 b ) × c = ( a × c ) × 1 b = ( a × c ) ÷ b , ( a ÷ b ) ÷ c = ( a × 1 b ) × 1 c = ( a × 1 c ) × 1 b = ( a ÷ c ) ÷ b {\displaystyle {\begin{aligned}(a\div b)\times c&=\left(a\times {\frac {1}{b}}\right)\times c=(a\times c)\times {\frac {1}{b}}=(a\times c)\div b,\\(a\div b)\div c&=\left(a\times {\frac {1}{b}}\right)\times {\frac {1}{c}}=\left(a\times {\frac {1}{c}}\right)\times {\frac {1}{b}}=(a\div c)\div b\end{aligned}}} また、2つの除算は乗算を用いてまとめることができる。 ( a ÷ b ) ÷ c = a ÷ ( b × c ) {\displaystyle (a\div b)\div c=a\div (b\times c)} しかし、除数と被除数とを入れ替えることはできない。 a ÷ b ≠ b ÷ a {\displaystyle a\div b\neq b\div a} ( a ÷ b ) ÷ c ≠ a ÷ ( b ÷ c ) {\displaystyle (a\div b)\div c\neq a\div (b\div c)}
絶対的最小剰余
−|n|/2 < r ≤ |n|/2
22 = 5 × 4 + 2:商 5, 剰余 222 = (−5) × (−4) + 2:商 −5, 剰余 2−22 = (−6) × 4 + 2:商 −6, 剰余 2−22 = 6 × (−4) + 2:商 6, 剰余 2
−|n|/2 ≤ r < |n|/2
22 = 6 × 4 − 2:商 6, 剰余 −222 = (−6) × (−4) − 2:商 −6, 剰余 −2−22 = (−5) × 4 − 2:商 −5, 剰余 −2−22 = 5 × (−4) − 2:商 5, 剰余 −2
有理数の除法