What method do calculators use to find square roots?

A quick search of Google and Wikipedia show several methods for computing square roots, none of them giving precisely the same result for a given number. I’ve noticed that all calculators, however, seem to have the exact same answers for square roots. Is there a standard method calculators use, and what is it?

Adam

Well, to a given number of digits, your calculator will produce the correct value for the square root because whatever algorithm it uses will continue to iterate until it gets a value as precise as you want it. I’m pretty certain most calculators use Newton’s method for calculating the square root.

-Tofer

if you read the winkie article you cited, they say right at the top that the calculators use a logarithmic method

I know it says that, but I’m not convinced. If all you want to do is calculate square roots, logarithmic methods seem like overkill. And the really basic calculators will do square roots but won’t give you logarithms.

I don’t know about calculators, but once upon a time, I did a fair bit of programming in Forth (a VERY nice language BTW, which was destroyed by its clergy who would not allow any standard string handling routines, floating point, and some other useful things). The commercial version I used had a square root routine that used Newton’s method (all the code was public) and VERY slow. The reason was that Newton requires repeated division and, especially on the 8088 chip that was very slow (around 150 clock cycles I recall, which at 4.77 Mh was a good piece of a millisecond). I wrote in assembly language a routine that used the square root method that I was taught in about 8th grade. Only in binary you just have to find the next bit. So you try 1 and see if that is too large. This can be done with a doubling and a couple of adds, IIRC. If it is too large, the next bit is 0. Repeat until you have them all. This worked and beat the pants off Newton. I sent it to the vendor and he built it in to all subsequent releases of his Forth.

Someone suggested logarithms. That would probably work too because you can store the log tables and use them for lots of procedures. Even if you can’t store them to the required precision, you can still store some values and interpolate in between.

See Pseudo Division
and Pseudo Multiplication Processes
, J. E. Meggitt, IBM Journal. April 1962.

I don’t know about calculators, but all the computer routines for square roots I have looked at used well designed interpolation methods for square roots, trig functions, etc. While a large sample, obviously not complete.

Strange that such methods aren’t even linked to in the Wikipedia article.