Wie bei vielen mathematischen Funktionen werden Sie mit einer Vielzahl von Algorithmen dorthin gelangen.
Sie können
den Algorithmus für Dezimalzahlen ausführen , außer die Mathematik zur
Basis 2 zu machen .
Oder Sie können eine Iterationsmethode wie die Newton-Methode verwenden. Für eine solche Methode benötigen Sie zunächst eine Approximation (r) der Wurzel. Eine Näherung, die ich für 32-Bit-Zahlen gesehen habe, ist
für Zahlen > 65535, r = n/17916 + 662
für Zahlen > 255, r = n/70 + 3
für Zahlen < 256, r = n/11 + 2
Jeder Iteration wird berechnet als r' = (r + n/r)/2.
Bei einigen Werten von n kann dies zwischen den beiden ganzen Zahlen auf beiden Seiten der tatsächlichen Wurzel durchlaufen, sodass einige Mittel verwendet werden müssen, um zu bestimmen, wann Konvergenz bei der Antwort aufgetreten ist. Normalerweise sind für 32-Bit-Zahlen nicht mehr als 5 Iterationen erforderlich.