Comme pour beaucoup de fonctions mathématiques, une variété d'algorithmes vous y mènera.
Vous pouvez faire
l' algorithme pour les nombres décimaux , sauf faire le calcul en
base 2 .
Ou, vous pouvez utiliser une méthode d'itération, telle que la méthode de Newton. Pour une telle méthode, vous avez besoin d'une approximation (r) de la racine pour commencer. Une approximation que j'ai vue utilisée pour les nombres 32 bits est
pour les nombres > 65535, r = n/17916 + 662
pour les nombres > 255, r = n/70 + 3
pour les nombres < 256, r = n/11 + 2
chacun l'itération est calculée comme r' = (r + n/r)/2.
Pour certaines valeurs de n, cela peut alterner entre les deux entiers de chaque côté de la racine réelle, donc certains moyens doivent être utilisés pour déterminer quand la convergence sur la réponse s'est produite. Généralement, pas plus de 5 itérations sont nécessaires pour les nombres 32 bits.