« Fonctionnement d'un ordinateur/Les circuits de calcul flottant » : différence entre les versions

Contenu supprimé Contenu ajouté
Ligne 237 :
Pour cela, partons de la formule suivante, qui pose l'équivalence des termes suivants :
 
: <math>\loglog_2(x+y) = \loglog_2 \left(x + x \times \frac{y}{x}\right) = \loglog_2 \left[ x \times \left(1+\frac{y}{x}\right) \right]</math>
 
Vu que le logarithme d'un produit est égal à la somme des logarithmes, on a :
 
: <math>\loglog_2(x+y) = \loglog_2 x + \loglog_2 \left(1+\frac{y}{x}\right)</math>
 
Par définition, on a <math>y = 2^{e_y}</math> et <math>x = 2^{e_x}</math> :
 
: <math>\loglog_2(x+y) = \log xe_x + \loglog_2 \left(1+\frac{2^{e_y}}{2^{e_x}}\right)</math>
 
On simplifie la puissance de deux :
 
: <math>\loglog_2(x+y) = \log xe_x + \loglog_2 \left(1+2^{e_y-e_x}\right)</math>
 
On a donc :
 
: <math>\loglog_2(x+y) = \log xe_x + f(ye_y-xe_x)</math>, avec f la fonction adéquate.
 
Pour la soustraction, on a la même chose, sauf que les signes changent, ce qui donne :
 
: <math>\loglog_2(x - y) = \log xe_x - g(ye_y-xe_x)</math>, avec g une fonction différente de f.
 
LeIl se trouve que <math>e_y</math> et <math>e_x</math> sont les représentations de x et y en flottant logarithmique. On vient donc de trouver la formule qui permet de faire le calcul, le seul obstacle étant la fonction f et la fonction g. Heureusement, le terme de droite peut se pré-calculer facilement, etce qui donne une table beaucoup plus petite qu'avec l'idée initiale. Dans ces conditions, l'addition se traduit en :
 
* un circuit qui additionne/soustrait les deux opérandes ;