12.07.2015 Views

Systèmes de numération - UQAC

Systèmes de numération - UQAC

Systèmes de numération - UQAC

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Richard Tremblay et Djamal Rebaïnesystèmes <strong>de</strong> numération1.5. Les opérations arithmétiques en codification BCD1.5.1 L'additionExemple 21 :DécimalBCD15 0 0 0 1 0 1 0 1+ 12 + 0 0 0 1 0 0 1 027 0 0 1 0 0 1 1 1Pour ce cas, il y a correspondance entre l'addition décimale et l'addition <strong>de</strong>s représentations BCD<strong>de</strong> chaque chiffre en binaire. Mais ce n'est pas toujours le cas. Considérons par exemple lenouveau cas:Exemple 22 :DécimalBCD15 0 0 0 1 0 1 0 1+ 18 + 0 0 0 1 1 0 0 033 0 0 1 0 1 1 0 1 2DL'addition en binaire ne présente plus une correspondance entre ce qui se passe en décimal et cequi se passe en représentation BCD binaire comme dans l'exemple précé<strong>de</strong>nt. Ici le retour directaux caractères (par l'ajout <strong>de</strong> la partie co<strong>de</strong> à chacun <strong>de</strong>s groupes <strong>de</strong> quatre bits) produit le résultat2D.Pourquoi et peut-on remédier à cette situation?La raison est simple: puisque nous disposons <strong>de</strong> quatre bits pour la représentation <strong>de</strong> chacun <strong>de</strong>schiffres, nous pouvons représenter tous les chiffres hexadécimaux (<strong>de</strong> 0 à 9 en plus <strong>de</strong> A à F quiont pour valeur respective allant <strong>de</strong> 10 à 15). Il y a donc six chiffres <strong>de</strong> trop par rapport ausystème décimal, soit les chiffres hexadécimaux A, B, C, D, E, F ayant pour valeur respective 10,11, 12, 13, 14 et 15.Le report aux dizaines est donc retardé <strong>de</strong> six unités. Pour produire ce report à temps lorsqu'il y adépassement à 9 dans une position décimale, il faut donc ajouter la valeur 6.Dans l'exempleprécé<strong>de</strong>nt (15 + 18) qui donnait (1 + 1)(5 + 8) = 2D, on obtient en corrigeant: 2(D+6) = 2(13+6)= (2+1)(19-16) = 33, le résultat correspondant en décimal.Dans le cas général, on effectue donc l'addition en motifs <strong>de</strong> 4 bits. Si le résultat dépasse 9 pourl'un ou plusieurs <strong>de</strong> ces motifs, on leur ajoute 6 pour forcer une retenue et on obtient le résultatescompté en BCD. Dans l'exemple précé<strong>de</strong>nt, 15 + 18, cette opération se traduit comme suit :37

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!