We have already described an algorithm for division of a signed binary stream by an integer in section 4.3.3. Here we give an algorithm for division of two arbitrary reals. This algorithm is entirely my own work.

Suppose we wish to compute (*a*/*b*), where *a* and *b* are reals
represented in signed binary (mantissa, exponent) representation by
the numerals (*x*, *e*_{x}) and (*y*', *e*_{y'}) respectively. The approach
is as follows. First we modify the mantissa *y*' of the numeral *b* to
find a new numeral (*y*, *e*_{y}) which also represents *b*. We can
perform division by this modified mantissa to obtain a new mantissa
which represents 4*x*/*y* using the dyadic stream
representation. Finally we convert this mantissa back into the signed
binary representation, and use it and the exponents *e*_{x} and *e*_{y} to
construct a numeral which represents *a*/*b*.

Note that division is undefined when the denominator is zero. It is impossible to test for equality using these representations (see section 2.2.2). Attempts to divide by zero will cause the algorithm to loop forever without returning digits.

- Modification of mantissas
- Output zero case:
- Output positive digits
- Output negative digits
- Extending division to the whole real line