Square Root math Methods

One small (but slow) method of calculating SQRT(N):

Number = N ; Number to take square root of
SQRT = 0
K=1

Do While Number > 0
    Number = Number - K
    SQRT = SQRT + 1
    K = K + 2
End Do

Another fairly simple (but much faster) method of calculating sqrt(n): is the Newton method:

        s(i+1) = { s(i)*s(i) + p }/{ 2*s(i) }
or in more detail
Number = N ; input value
        ;-- we want to finish with s^2 approximately equal to N.
Do While (...?...)
        s = ( s*s + N ) / ( 2 * s ) ; the average of "s" and "N/s".
End Do

The Newton method requires a 8-bit into 16-bit division algorithm.

For more theory see

If you want tested implementations for a particular processor, see:

Comments: