CoursDocuments

Cours De Systèmes de Numération & Codage

Systèmes de Numération & Codage 

Objectif : 

L’électronicien est amené à manipuler des valeurs exprimées dans différentes bases (notamment avec les systèmes 

informatiques). Il est essentiel de posséder quelques notions sur les systèmes de numération en général et sur les systèmes 

binaire et hexadécimal en particulier. 

1/ Quelques définitions : 

DIGIT : Contraction de « digital unit » unité digitale. Un digit est un élément d’information numérique de base quelconque. 

ex : Les nombres 1644 (base 10) et A84F (base 16) sont constitués chacun de 4 digits. 

POIDS D’UN DIGIT : La valeur de chaque digit dépend de sa position. A chaque rang (position), est affecté un poids. Les positions des digits d’un nombre écrit en base B ont pour poids des puissances de B. (voir § suivant) 

BIT : Contraction de « binary digit » digit binaire. Un bit ne peut prendre que deux états 0 ou 1. 

ex : le nombre binaire 10100101 est constitué de 8 bits. 

MSD : C’est le digit le plus significatif, de poids le plus fort (Most Significant Digit). 

ex : pour le nombre A4F5, le MSB est un 

LSD : C’est le digit le moins significatif, de poids le plus faible (Least Significant Digit). 

ex : pour le nombre A4F5, le LSB est un 

MOT : Un MOT est l’association (concaténation) de plusieurs digits ou bits (peut être aussi appelé courant un « nombre ») -> un mot de 4 bits s’appelle un quartet; ex : 1010 -> un mot de 8 bits s’appelle un octet; ex : 1011 0110 

BASE : Un nombre est écrit en base B, chacun de ses digits peut être écrit avec B symboles différents : 

Valeurs en base 10 [10 symboles]: 0 1 2 3 4 5 6 7 8 9 

Symboles en base 16 [16 symboles]: 0 1 2 3 4 5 6 7 8 9 A B C D E F 

CAPACITE DE COMPTAGE : Avec N digits écrits en base B, on peut compter de 0 à BN-1, soit BN nombres différents. 

ex1 : avec un nombre de 3 digits en base 10, on peut compter de 0 à 9 9 9 (= 103 – 1 ), soit 103 nombres différents. 

ex2: avec un nombre de 4 digits en base 2, on peut compter de 0 à 15 (= 24 – 1 ). soit 103 nombres différents. 2/ Expression générale d’un nombre entier positif N (décomposition) : 

De nombreux systèmes de numération sont utilisés en électronique numérique. Les plus courants sont les systèmes de numération suivants : 

– Binaire (Base 2) – Décimal ( Base 10) – Hexadécimal (Base 16) 

Systèmes de Numération & Codage – page 1 M. BERNARD – édité le 03/09/2008 

– Octal (Base 8) 

2.1/ Le système de numération « Décimal » 

Le système de numération que nous employons couramment utilise 10 chiffres : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9. 

On l’appelle pour cela « système décimal » ou système à base 10

Dans ce système, un nombre peut être décomposé en puissance de 10

Par exemple décomposons le nombre 546 : 

546 = 5 x 100 + 4 x 10 + 6 x 1 

– Le digit « 6 », situé au premier rang à partir de la droite a une valeur de 6 

– Le digit « 4 », situé au deuxième rang a une valeur de 40. 

– Le digit « 5 », situé au troisième rang a une valeur de 500. 

Ainsi, chaque digit a un « poids » différent selon son rang : 

– au premier rang (rang de niveau 0) : le poids est de 1 (ou 100), 

– au deuxième rang (rang de niveau 1) : le poids est de 10 (ou 101), 

– et au troisième rang (rang de niveau 2) le poids est de 100 (ou 102). 

Le poids est la puissance nième de 10 ( 10n ) si on numérote les rangs de droite à gauche et en commençant par le rang n° 0

Exercice : Décomposer les nombres suivants sous forme de puissance de 10 : 

28 = 2x 101 + 8×10

4509 = 4x 103 + 5×102+ 0x101+ 9×10

60123 = 6x 104 + 0x103+ 1×102+ 2×101+ 3×10

2.2/ Généralisation : Décomposition d’un nombre 

Les nombres tels que nous les utilisons sont, en réalité, une convention d’écriture. Tout nombre entier positif peut s’écrire sous la forme d’un polynôme arithmétique. 

N = an x Bn + an-1 x Bn-1 + …….+ a1 x B1 + ao x B

B est la base, a est le chiffre de rang n et n représente le poids. 

Dans la base B, on a besoin de B symboles pour écrire tous les nombres. 

2.3/ Les autres bases de numération utilisées 

A la place du décimal, nous pouvons utiliser la numération binaire, octale ou l’hexadécimale : 

  • La base 2 (binaire) est employée pour traduire les états d’un système logique [0 ou 1, tout ou rien, juste ou faux…] 
  • La base 8 (octal) autrefois très utilisée, elle tend aujourd’hui à disparaître au profit de la base 16 suite à l’évolution technologique des composants (16 bits et +) 
  • La base 16 (hexadécimal) est apparue avec la logique microprogrammée et les microprocesseurs. Elle 

Systèmes de Numération & Codage – page 2 M. BERNARD – édité le 03/09/2008 

permet de traduire plus facilement un nombre binaire et autorise une représentation plus conviviale des grands nombres. 

  • La base 10 (décimal) est universellement employée par l’homme depuis qu’il sait compter sur ses doigts (10 doigts…) 

Récapitulatif des bases : 

Base Système Nbre de 

Symboles utilisés symboles 

2 Binaire 2 0 1 

8 Octal 8 0 1 2 3 4 5 6 7 

10 Décimal 10 0 1 2 3 4 5 6 7 8 9 

16 Hexadécimal 16 0 1 2 3 4 5 6 7 8 9 A B C D E 

Il est important de savoir convertir un nombre exprimé dans une base vers une autre. 

Tableau de correspondance entre les différentes bases pour les premières valeurs : 

Base 2 Base 8 Base 16 Base 10 

0000 0000 0000 00 0 

0000 0001 0001 01 1 

0000 0010 0002 02 2 

0000 0011 0003 03 3 

0000 0100 0004 04 4 

0000 0101 0005 05 5 

0000 0110 0006 06 6 

0000 0111 0007 07 7 

0000 1000 0010 08 8 

0000 1001 0011 09 9 

0000 1010 0012 A 10 

0000 1011 0013 B 11 

0000 1100 0014 C 12 

0000 1101 0015 D 13 

0000 1110 0016 E 14 

0000 1111 0017 F 15 

0001 0000 0020 10 16 

0001 0001 0021 11 17 

0001 0010 0022 12 18 

0001 0011 0023 13 19 

0001 0100 0024 14 20 

Systèmes de Numération & Codage – page 3 M. BERNARD – édité le 03/09/2008 

3/ Conversion d’une base dans une autre (transcodage) 

3.1/ Conversion d’un nombre en décimal vers son équivalent en binaire [(N)10 -> (N)2

La méthode consiste à répéter la division par 2 du nombre décimal à convertir et au report des restes jusqu’à ce que le quotient soit 0. Le nombre binaire résultant s’obtient en écrivant le premier reste à la position du bit de poids le plus faible (LSB = Least Significant Bit) et le dernier à la position du bit de poids le plus fort (MSB = Most Significant Bit). 

Exemple : conversion du nombre décimal 19 en binaire 

(19)10 = (………)2

LSB 19 2 

1 9 2 

1 4 2 

0 2 2 

0 1 2 

1 0 => on arrête ! 

MSB 

D’où (19)10 = (10011)

Exercice : Quel est le code binaire correspondant à (65)10 et (41)10

(65)10 = ( 100 0001 )

(41)10 = ( 10 1001 )

Systèmes de Numération & Codage – page 4 M. BERNARD – édité le 03/09/2008 

3.2/ Conversion d’un nombre en binaire vers son équivalent en décimal [(N)2 -> (N)10

Il s’agit ici d’appliquer la formule donné au paragraphe 2.2 en prenant B= 2. 

(1101)2= 1x23 + 1x22 + 0x21 + 1x2

= 1x8 + 1x4 + 0x2 + 1x1 = (13)10 

Table des puissances 

Puissance de 2 

Puissance de 8 

Puissance de 10 

Puissance de 10 

Puissance de 16 

Puissance de 16 

Puissance de 16 

Exercice : Quel est le code décimal correspondant à (1 1001 1000)2 et (1010 1010)2

(1 1001 1000)2 = ( 408 )10 

(1010 1010)2 = ( 170 )10 

3.3/ Conversion d’un nombre en décimal vers son équivalent en octal ou hexadécimal [(N)10 -> (N)8 ou (N)16

Il s’agit ici d’appliquer la même méthode que pour le passage du décimal vers le binaire ( § 3.1) en divisant successivement le nombre décimal par 8 (conversion en octal) ou par 16 (conversion en hexadécimal). 

Exercice : Convertir les nombres suivants : 

(1028)10 = ( 2004 )

(61)10 = ( 3D )16 

(4095)10 = ( 7777 )

(2748)10 = ( FFF )16 

20 = 1 21 = 2 22 = 4 23 = 8 24 = 16 25 = 32 26 = 64 27 = 128 28 = 256 29 = 512 210 = 1024 211= 2048 212 = 4096 

80 = 1 81 = 8 82 = 64 83 = 512 84 = 4096 85 = 32768 

100 = 1 101 = 10 102 = 100 103 = 1000 104 = 10000 

100 = 1 101 = 10 102 = 100 103 = 1000 104 = 10000 

160 = 1 161 = 16 162 = 256 163 = 4096 164 = 65536 

160 = 1 161 = 16 162 = 256 163 = 4096 164 = 65536 

160 = 1 161 = 16 162 = 256 163 = 4096 164 = 65536 

Systèmes de Numération & Codage – page 5 M. BERNARD – édité le 03/09/2008 

3.4/ Conversion d’un nombre en octal ou hexadécimal vers son équivalent en décimal [(N)8 -> (N)10 ou (N)16 -> (N)10

Il s’agit ici d’appliquer la même méthode que celle pour le passage d’un nombre binaire en décimal ( § 3.2), avec dans la formule du § 2.2 respectivement B=8 ou B=16. 

Exercice : Convertir les nombres suivants : 

(1027)8 = ( 535 )10 

(61F)16 = ( 1567 )10 

3.5/ Récapitulatif méthode à employer pour le transcodage 

Base de départ 

Base d’arrivée Méthode de transcodage 

3.6/ Conversions directes binaire <=> hexadécimal 

La conversion de la base 2 à la base 16 (et inversement) se fait aisément, la base 16 étant un multiple entier de la base 2. Elle permet de représenter sous une forme réduite un nombre binaire. 

24 = 16 => un groupe binaire de 4 bits est transcodable directement en un digit hexadécimal. 

Méthode : 0n divise le nombre binaire en tranches de 4 bits (à partir du LSB). Chacun des quartets est ensuite converti en un digit hexadécimal par simple sommation pondérée. 

Exemple 1 : 

23 22 21 20 23 22 21 20 23 22 21 20 (111000110101)2 = 1 1 1 0 0 0 1 1 0 1 0 1 

(1110 0011 0101)2 = ( E 3 5 )16 

Exemple 2 : (D4C7)16 = D 4 C 7 

1101 0100 1100 0111 = (1101 0100 1100 0111)

3.7 / Conversion Décimal <=> code BCD (Décimal Codé Binaire) 

Le code BCD est utilisé pour les afficheurs lumineux, son principe repose sur le codage de chaque digit décimal (chiffre) en son équivalent en binaire sur 4 bits (et inversement). 

Exemple : 

(1 2 7)10 = ( 0001 0010 0111)BCD 

Décimal 

Binaire Méthode de la division par 2 du nombre 

Octal Méthode de la division par 8 du nombre 

Hexadécimal Méthode de la division par 16 du nombre 

Binaire (N)10= an x Bn + an-1 x Bn-1 + …….+ a1 x B1 + ao x B0 avec B=2 

Octal Décimal 

(N)10= an x Bn + an-1 x Bn-1 + …….+ a1 x B1 + ao x B0 avec B=8 

Hexadécimal (N)10= an x Bn + an-1 x Bn-1 + …….+ a1 x B1 + ao x B0 avec B=16 

Systèmes de Numération & Codage – page 6 M. BERNARD – édité le 03/09/2008 

Exercice : Effectuer les transcodages suivants : 

( 5 7 6)10 = ( 0101 0111 0110 )BCD 

( 9 9 )10 = ( 1001 1001 )BCD 

( 1000 0011 0110)BCD = ( 8 3 6 )10 

Exercice : Combien faut-il de bits pour représenter un nombre décimal de 5 chiffres dans le code BCD ? 

Il faut 5 x 4 bits soit 20 bits. 

  1. / Le code de GRAY 

Le « code à distance unité » ou code de Gray, également appelé code reflex ou code binaire réfléchi, est un code non pondéré, c’est à dire que les positions binaires ne sont affectées d’aucun poids

Le code GRAY est aussi utilisé dans l’écriture des tableaux de Karnaugh (c’est pour plus tard…) 

Principe d’obtention du code GRAY : Si l’on dispose d’un ensemble de 2N mots réalisant un code de Gray , il est facile d’obtenir un ensemble de 2 (N + 1) mots respectant le même code. 

Ce nouvel ensemble est constitué : – d’une part des mots-code du code initial , précédés de « 0 »’ – d’autre part des mots-code du même code initial , présentés dans l’ordre inverse et précédés de « 1 » 

Décimal Binaire Code Gray 

0 0000 000

1 0001 000

2 0010 0011 

3 0011 0010 

4 0100 0110 

5 0101 0111 

6 0110 0101 

7 0111 0100 

8 1000 1100 

9 1001 1101 

10 1010 1111 

11 1011 1110 

12 1100 1010 

13 1101 1011 

14 1110 1001 

15 1111 1000 

16 17 18 19 

Systèmes de Numération & Codage – page 7 M. BERNARD – édité le 03/09/2008 

  1. / Les autres codes. 

5.1/ Le code ASCII 

Il tire son appellation de l’abréviation américaine : American Standard Code Interchange Information. 

C’est un code qui permet la représentation des caractères alphanumériques d’un micro-ordinateur, chaque caractère étant codé par un mot de 8 bits appelé octet

Ce code est très répandu dans le milieu de la micro-informatique. 

Table des caractères ASCII 

  1. 2/ Le Code Barre 

Ce principe de codage, apparu dans les années 80, est largement utilisé sur les produits de grande consommation, car il facilite la gestion des produits. 

Le marquage comporte un certain nombre de barres verticales ainsi que 13 chiffres : 

– Le 1er chiffre désigne le pays d’origine : 3 = France, 4 = Allemagne, 0 = U.S.A, Canada etc … – Les cinq suivants sont ceux du code « fabricant », – Les six autres sont ceux du code de l’article, – Le dernier étant une clé de contrôle 

Les barres représentent le codage de ces chiffres sur 7 bits , à chaque chiffre est attribué un ensemble de 7 espace blancs ou noirs. 

REMARQUE : D’autres codes moins utilisés existent comme le code Aïken, le code EXCESS 3 etc… 

Systèmes de Numération & Codage – page 8 M. BERNARD – édité le 03/09/2008 

  1. / Représentation des nombres signés en binaire 

Pour le moment, nous n’avons parlé que de nombres positifs. Il peut s’avérer indispensable de traiter également des nombres négatifs. Le langage binaire ne connaît pas le signe – (!) 

Il existe 3 conventions pour exprimer les nombres signés dans le système binaire : – Représentation de la valeur et du signe indépendamment (binaire signé), – Représentation en complément à 1, – Représentation en complément à 2. 

6.1/ Le binaire signé 

L’une des méthodes est de réserver un bit pour indiquer le signe du nombre, d’où l’appellation de binaire signé. Le bit réservé au signe est toujours le bit le plus à gauche. (attention : Il ne correspond plus au MSB !) Pour le bit de signe et par convention, le 0 représente le + et le 1 le –

Exemple : (-23)10 = (1 0010111) ; (+23)10 = (0 0010111

6.2/ Complément à 1 d’un nombre binaire 

Pour calculer le complément à 1(CA1) d’un nombre binaire, il suffit de complémenter chaque bit de ce nombre c’est-à-dire remplacer les 1 par des 0 et les 0 par des 1. Attention : En notation signé, le bit de signe reste inchangé (ne pas le complémenter) 

Exemple : 

(-23)10 = s’écrit (1 0010111) en binaire signé (ci-dessus) et son complément à 1 est (1 1101000), le bit de signe étant inchangé. 

6.2/ Complément à 2 d’un nombre binaire 

Pour calculer le CA2 d’un nombre binaire N, on ajoute la valeur 1 au CA1 de N. (CA2 = CA1 + 1) 

Exemple 1 : 

Nombre binaire N (non signé) : N = 0101 Complément à 1 de N : (N)CA1= 1010 Complément à 2 de N : (N)CA2 = 1011 

Exemple 2 : 

(-23)10 = s’écrit (1 0010111) en binaire signé, son complément à 1 est (1 1101000), son complément à 2 est (1 1101001). 

  1. / Calcul arithmétiques 

7.1 Addition binaire 

L’addition de 2 nombres binaires est parfaitement analogue à l’addition de 2 nombres décimaux. Il faut commencer par le bit de poids le plus faible en utilisant l’algorithme suivant : 

0 + 0 = 0 1 + 0 = 1 

1 + 1 = 10 (= 0 + report de 1 sur la gauche) 1 + 1 + 1 = 11 (= 1 + report de 1 sur la gauche) 

Systèmes de Numération & Codage – page 9 M. BERNARD – édité le 03/09/2008 

Exercice : 

Faire les additions suivantes en binaire 

5 0101 15 1111 + 3 + 0011 + 11 + 1011 = 8 = 1000 = 26 = 11010 

7.2 Soustraction binaire 

Dans le cas de la soustraction de deux nombres binaires non signés on peut utiliser l’algorithme suivant : 

0 – 0 = 0 0 – 1 = 1 (avec un report de 1 à retrancher au chiffre supérieur) 

1 – 0 = 1 1- 1 = 0 

Exemple : opération 7 – 2 

0111 – 0010 = 0101 (= 5 !) 

Une autre méthode consiste faire une addition de deux nombres de signes contraires 

DEUX CAS PEUVENT SE PRESENTER : 

1er cas : La grandeur du nombre positif est supérieure à celle du nombre négatif 

Par exemple (+17)10 = (0 10001)2 signé et (-12)10 = (1 01100)2 signé (-12)10 étant négatif il faut le remplacer par son complément à 2 

Calcul du complément à 2 de (-12)10

Complément à 1 de (-12) = ( 1 10011 )CA1 Complément à 2 de (-12) = ( 1 10100 )CA2 

Il reste à faire l’addition avec le complémentant à 2 du nombre à soustraire, sans oublier son bit de signe

1er nombre : 0 1 0 0 0 1 (+17)2 signé 2eme nombre : + 1 1 0 1 0 0 (-12)CA2 

1 0 0 0 1 0 1 Bit de signe 

Débordement à éliminer 

Remarque : nous avons additionné les bits de signe et la retenue ; cela peut entraîner un débordement comme dans le cas ci-dessus, un débordement qui est toujours rejeté. 

2ème cas : La grandeur du nombre positif est inférieure à celle du nombre négatif 

Par exemple (-17)10 = (1 10001)2 signé et (+12)10 = (0 01100)2 signé comme dans le cas précédent calculons le complément à 2 de (-17)10 

Complément à 1 de (-17) = ( 1 01110 )CA1 Complément à 2 de (-17) = ( 1 01111 )CA2 

Il reste à faire l’addition avec le complémentant à 2 du nombre à soustraire, sans oublier son bit de signe

Systèmes de Numération & Codage – page 10 M. BERNARD – édité le 03/09/2008 

1er nombre : 1 0 1 1 1 1 (-17)CA2 2eme nombre : + 0 0 1 1 0 0 (+12)2 signé 

1 1 1 0 1 1 

bit de signe 

Le résultat de l’addition est négatif (bit de signe = 1) [c’est d’ailleurs ce qui le différencie du 1er cas]. Ce résultat est écrit sous la forme du complément à 2

Pour passer du complément à 2 au binaire signé il faut utiliser la méthode suivante : 

– Soustraire 1 au nombre binaire (passage du complément à 2 au complément à 1), – Complémenter chaque bit un à un sauf le bit de signe (passage au binaire signé). 

Dans l’exemple précédent le résultat donne : 

Résultat : ( 1 1 1 0 1 1 )CA2 -> ( 1 1 1 0 1 0 )CA1 -> ( 1 0 0 1 0 1 )2 signé = ( – 5 )10 (CQFD !) 

Systèmes de Numération & Codage – page 11 M. BERNARD – édité le 03/09/2008 

 

 

télécharger gratuitement cours de Systèmes de Numération & Codage 

Articles similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Bouton retour en haut de la page

Adblock détecté

S'il vous plaît envisager de nous soutenir en désactivant votre bloqueur de publicité