Cours et activités en arithmétique pour les classes ... - Robert Rolland
Cours et activités en arithmétique pour les classes ... - Robert Rolland
Cours et activités en arithmétique pour les classes ... - Robert Rolland
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
42 Chapitre 3<br />
Passage d’une écriture décimale à une écriture binaire : Dans<br />
l’algorithme décrit, Q mod 2 est le reste de la division euclidi<strong>en</strong>ne de Q par<br />
2 <strong>et</strong> Q div 2 <strong>en</strong> est le quoti<strong>en</strong>t.<br />
On peut faire tourner l’algorithme sur un exemple :<br />
Q I A[I]<br />
a = 19 0 1<br />
9 1 1<br />
4 2 0<br />
2 3 0<br />
1 4 1<br />
0<br />
Ainsi l’<strong>en</strong>tier (19)10 s’écrit (10011)2 <strong>en</strong> base 2.<br />
Quant à l’algorithme, on constate qu’au début on a<br />
donc<br />
Q = a, I − 1 = −1,<br />
2 I I−1<br />
Q + A[j]2 j = a.<br />
Si c<strong>et</strong>te dernière relation est vraie <strong>en</strong> <strong>en</strong>trée de boucle, puisque<br />
j=0<br />
Q = 2 ∗ (Q div 2) + (Q mod 2)<br />
alors après la première instruction de la boucle<br />
a = 2 I+1 ∗ (Q div 2) + A[I]2 I<br />
I−1<br />
<br />
A[j]2 j<br />
<strong>et</strong> puisqu’on m<strong>et</strong> Q div 2 dans Q <strong>et</strong> I + 1 dans I, la relation est <strong>en</strong>core vraie<br />
<strong>en</strong> sortie de boucle. Or <strong>en</strong> sortie de boucle Q = 0, donc I−1 j=0 A[j]2j = a, ce<br />
qui prouve que le tableau A conti<strong>en</strong>t le développem<strong>en</strong>t binaire de a.<br />
Pour <strong>les</strong> p<strong>et</strong>its nombres on peut chercher la plus grande puissance de 2 qui<br />
soit ≤ a <strong>et</strong> soustraire c<strong>et</strong>te puissance à a. On réitère le procédé jusqu’à un<br />
nombre nul.<br />
Exemple : a = 87.<br />
j=0