Extracteur de racine carrée |
Extraction de racine carrée |
L'extraction de racine carrée est relativement peu fréquente. Cependant elle intervient dans les distances euclidiennes et dans les moindres carrés. L'opérateur d'extraction s'apparente au diviseur et tout ce que l'on sait de la division rapide s'applique à la racine carrée. Souvent le même opérateur rapide exécute soit la division, soit l'extraction de racine carrée, les collisions étant trop rares pour justifier deux opérateurs par ailleurs coûteux. |
Algorithme d'extraction de racine carrée |
Dans le dessin ci-dessous, la surface de chaque rectangle rouge représente le poids de un bit. Seuls les
bits à '1' sont dessinés. La surface totale dessinée est donc la
somme pondérée de ces bits. Le jeu consiste à trouver un carré de surface égale à un nombre donné, nombre dont la valeur est représentée par la surface d'un cercle bleu, en observant un bit de test ( £ ou > ) et en cliquant des bits. Le côté de ce carré est alors la racine cherchée. Cliquer sur les objets dévoile leur surface. |
Extracteur de racine carrée |
On veut calculer Q = ÖA. Ceci est équivalent à Q = A ÷
Q. Donc si Q s'écrit sur n bits, A s'écrit avec 2n bits. A la différence de la division, l'extraction
de racine est sans débordement.
avec comme conditions initiales :
Quand la récurrence se termine, on a Q = Q0 = Sj qj
* 2j. R = R0 est le reste de l'extraction de racine.
|
Extracteur avec restauration |
L'extracteur de racine carrée avec restauration utilise les mêmes cellules de soustracteur conditionnel "SC" que le diviseur avec restauration.
|
De nombreuses cellules de ce circuit ont des entrées constantes ( '0' ou '1' ). Elles ne sont pas simplifiées ici comme dans le diviseur avec restauration. |
Extracteur sans restauration |
L'extracteur de racine carrée sans restauration utilise les mêmes cellules d'addition/soustraction "AS" que le diviseur sans restauration.
En fait les valeurs des Qj succesifs sont impaires, c'est à dire terminés à droite par un '1' implicite, qui ne sera explicité qu'à la conversion finale. Après quelques distributions de signe :
|
Comme la racine Q est positive, son bit pois fort qn vaut toujours '1'. Cet
extrateur donne toujours une racine Q impaire. Si le reste final est négatif (bit de signe = 1), alors Q
est trop grand et il est facile de le diminuer car il est impaire. L'interêt de ces deux extracteurs est de montrer que l'on peut utiliser des chiffres valant '0', '1' ou '-1' (notation "BS") . |