This article is about algorithms for division of integers. For the pencil-and-paper algorithm, see Long division. For the division algorithm for polynomials, see Polynomial long division.
A division algorithm is an algorithm which, given two integers N and D (respectively the numerator and the denominator), computes their quotient and/or remainder, the result of Euclidean division. Some are applied by hand, while others are employed by digital circuit designs and software.
Division algorithms fall into two main categories: slow division and fast division. Slow division algorithms produce one digit of the final quotient per iteration. Examples of slow division include restoring, non-performing restoring, non-restoring, and SRT division. Fast division methods start with a close approximation to the final quotient and produce twice as many digits of the final quotient on each iteration.[1] Newton–Raphson and Goldschmidt algorithms fall into this category.
Variants of these algorithms allow using fast multiplication algorithms. It results that, for large integers, the computer time needed for a division is the same, up to a constant factor, as the time needed for a multiplication, whichever multiplication algorithm is used.
Discussion will refer to the form , where
N = numerator (dividend)
D = denominator (divisor)
is the input, and
Q = quotient
R = remainder
is the output.
^Rodeheffer, Thomas L. (2008-08-26). Software Integer Division(PDF) (Technical report). Microsoft Research, Silicon Valley.
and 23 Related for: Division algorithm information
A divisionalgorithm is an algorithm which, given two integers N and D (respectively the numerator and the denominator), computes their quotient and/or...
In mathematics, the Euclidean algorithm, or Euclid's algorithm, is an efficient method for computing the greatest common divisor (GCD) of two integers...
In algebra, polynomial long division is an algorithm for dividing a polynomial by another polynomial of the same or lower degree, a generalized version...
In arithmetic, long division is a standard divisionalgorithm suitable for dividing multi-digit Hindu-Arabic numerals (Positional notation) that is simple...
In mathematics and computer science, an algorithm (/ˈælɡərɪðəm/ ) is a finite sequence of mathematically rigorous instructions, typically used to solve...
computation are called integer divisionalgorithms, the best known of which being long division. Euclidean division, and algorithms to compute it, are fundamental...
An algorithm is fundamentally a set of rules or defined procedures that is typically designed and used to solve a specific problem or a broad set of problems...
In symbolic computation, the Risch algorithm is a method of indefinite integration used in some computer algebra systems to find antiderivatives. It is...
may be computed, like for the integer GCD, by the Euclidean algorithm using long division. The polynomial GCD is defined only up to the multiplication...
In mathematics, the sieve of Eratosthenes is an ancient algorithm for finding all prime numbers up to any given limit. It does so by iteratively marking...
multiplication algorithm is an algorithm (or method) to multiply two numbers. Depending on the size of the numbers, different algorithms are more efficient...
arithmetic algorithms for addition, subtraction, multiplication, and division are described. For example, through the standard addition algorithm, the sum...
Trial division is the most laborious but easiest to understand of the integer factorization algorithms. The essential idea behind trial division tests...
short division is a divisionalgorithm which breaks down a division problem into a series of easier steps. It is an abbreviated form of long division — whereby...
Maze generation algorithms are automated methods for the creation of mazes. A maze can be generated by starting with a predetermined arrangement of cells...
Missing values in a lookup table used by the FPU's floating-point divisionalgorithm led to calculations acquiring small errors. While these errors would...
subtractions. Division of this type is efficiently realised in hardware by a modified shift register, and in software by a series of equivalent algorithms, starting...
and computer programming, the extended Euclidean algorithm is an extension to the Euclidean algorithm, and computes, in addition to the greatest common...
{\displaystyle c=a\,{\bmod {\,}}n\,} would be to use a fast divisionalgorithm. Barrett reduction is an algorithm designed to optimize this operation assuming n {\displaystyle...
the inverse of multiplication Divisionalgorithm, a method for computing the result of mathematical divisionDivision (military), a formation typically...
algorithm, with minor variations. Bresenham's line algorithm — optimized to use only additions (i.e. no division Multiplications); it also avoids floating-point...
The division described by Al-Khwarizmi in 825 was identical to the Sunzi algorithm for division. Group Field (algebra) Division algebra Division ring...
Strassen algorithm, named after Volker Strassen, is an algorithm for matrix multiplication. It is faster than the standard matrix multiplication algorithm for...