数値的(ディジタル)な除算アルゴリズムはいくつか存在する。それらのアルゴリズムは、低速な除算と高速な除算の2つに分類できる。低速な除算は反復する毎に最終的な商を1桁ずつ生成していくアルゴリズムである。回復型、不実行回復型、非回復型、SRT除算などがある。高速な除算は最初に商の近似値から出発して徐々に正確な値に近づけていくもので、低速な除算よりも反復回数が少なくて済む。ニュートン-ラプソン法とゴールドシュミット法がこれに分類される。 以下の解説では、除算を で表し、 Q = 商 (quotient) N = 被除数(分子 = numerator) D = 除数(分母 = denominator) とする。 procedure divide_unsigned(N, D: unsigned_integer; var Q, R: unsigned_integer); const n = 32; (