Easy Reciprocals

Stanley Mazor · IEEE Annals of the History of Computing · 2024

Prior to the availability of electronic calculators, people used voluminous published data tables to quickly provide transcendental functions, square roots, and logarithms. One would look up a value; if the exact entry was not there, then interpolation between two neighboring values gave an estimate. Such tables are also useful for getting a first-guess value when using iteration to get a better result, as with Newton's method for obtaining a square root. In 1909, Percy Ludgate invented a programmable mechanical computer [1], [2] and suggested doing division, a/b, with multiplication hardware for a × b−1, but taking the reciprocal of b without a division. To get a reciprocal he proposed a lookup table for the first estimate and then a novel iterative method explained here. Each successive estimate for b−1uses a multiply and then a subtract. Nearly 90 years later, Intel's Pentium CPUs and other microprocessors also began using an on-chip table for their divide operations.1To get the reciprocal N−1(1/N) when division is not available or practical, the reciprocal can be calculated using an iterative scheme. Note that the product of N−1× N should equal a value very close to 1, after which the estimated N−1can be improved proportionally in successive steps.

Read the paper · More papers on PaperTik