{"title":"Easy Reciprocals","authors":"Stanley Mazor","doi":"10.1109/mahc.2024.3364901","DOIUrl":null,"url":null,"abstract":"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\n<sup xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">−1</sup>\n, 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\n<italic xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\"><sup>−</sup></i>\n<sup xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">1</sup> uses 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.\n<sup xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">1</sup> To get the reciprocal N\n<sup xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">−1</sup> (1/N) when division is not available or practical, the reciprocal can be calculated using an iterative scheme. Note that the product of N\n<sup xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">−1</sup> × N should equal a value very close to 1, after which the estimated N\n<sup xmlns:mml=\"http://www.w3.org/1998/Math/MathML\" xmlns:xlink=\"http://www.w3.org/1999/xlink\">−1</sup> can be improved proportionally in successive steps.","PeriodicalId":55033,"journal":{"name":"IEEE Annals of the History of Computing","volume":"31 1","pages":""},"PeriodicalIF":0.5000,"publicationDate":"2024-04-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"IEEE Annals of the History of Computing","FirstCategoryId":"98","ListUrlMain":"https://doi.org/10.1109/mahc.2024.3364901","RegionNum":3,"RegionCategory":"哲学","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"Q4","JCRName":"COMPUTER SCIENCE, THEORY & METHODS","Score":null,"Total":0}
引用次数: 0
Abstract
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
−1 uses 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.
1 To 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
−1 can be improved proportionally in successive steps.
期刊介绍:
The IEEE Annals of the History of Computing serves as a record of vital contributions which recount, preserve, and analyze the history of computing and the impact of computing on society. Where possible, first hand accounts of events and activities are recorded with minimal editorial change, and scholarly reports of analyses of the historical record from archives and personal contact are published so as to better understand both the past and the future of our field.