# Caculating 1/d if you have multiply

1. Apr 18, 2007

### rcgldr

This will be done in assembly code, using an integer multiply, 32 bit by 32 bit producing 64 bit result. Unsigned algorithm is good enough.

Generic algorithm to find 1 / D, eq is initial estimated quotient, from table, say with 8 bits of precision.

$$q_0\ =\ eq$$

$$q_{n+1}\ =\ q_n\ (2\ -\ q_n\ X)$$

For integer math, pre and post shifting of values will be done. Generally only 4 or 5 interations are required to get 32 bits of precision.

Are there better algorithms?

Last edited: Apr 18, 2007