Systèmes de Numération & Codage

Page 1 sur 11Lecteur de document UniversityLib

Systèmes de Numération & Codage

Digital Electronics and Numerical Systems · notes

Voir tous les documents en électronique et automatique

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 + 8x100

4509 = 4x 103 + 5x102+ 0x101+ 9x100

60123 = 6x 104 + 0x103+ 1x102+ 2x101+ 3x100

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 B0

où 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

2

8

Binaire

Octal

2

8

Symboles utilisés

0

1

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

Publicité

0

1

2

3

4

5

6

7

8

9 A

B

C D

E

F

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

0000 0001

0000 0010

0001

0002

0000 0011

0003

0000 0100

0004

0000 0101

0000 0110

0000 0111

0000 1000

0005

0006

0007

0010

0000 1001

0011

0000 1010

0012

0000 1011

0000 1100

0000 1101

0000 1110

0013

0014

0015

0016

0000 1111

0017

0001 0000

0020

0001 0001

0001 0010

0021

0022

0001 0011

0023

0001 0100

0024

00

01

02

03

04

05

06

07

08

09

A

B

C

D

E

F

10

11

12

13

14

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

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).

Publicité

Exemple : conversion du nombre décimal 19 en binaire

(19)10 = (………)2 ?

LSB

19

2

1

9

1

2

4

0

MSB

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

2

2

0

2

1

1

2

0 => on arrête !

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

(65)10 = ( 100 0001 )2

(41)10 = ( 10 1001 )2

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 + 1x20

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

Table des puissances

Puissance

de 2

Puissance

de 8

Puissance

de 10

Puissance

de 16

80 = 1

81 = 8

82 = 64

83 = 512

84 = 4096

85 = 32768

100 = 1

101 = 10

102 = 100

103 = 1000

104 = 10000

160 = 1

161 = 16

162 = 256

163 = 4096

164 = 65536

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

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 )8

(61)10 = ( 3D )16

(4095)10 = ( 7777 )8

(2748)10 = ( FFF )16

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

Binaire

Méthode de la division par 2 du nombre

Décimal

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

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.

Publicité

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)2

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

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.

4. / 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

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001

1010

1011

1100

1101

1110

1111

0000

0001

0011

0010

0110

0111

0101

0100

1100

1101

1111

1110

1010

1011

1001

1000

0

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

Systèmes de Numération & Codage - page 7

M. BERNARD - édité le 03/09/2008

5. / 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

5. 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

6. / 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 - (!)

Publicité

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).

7. / 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

3

8

+

=

0101

0011

1000

+

=

15

11

26

+

=

1111

1011

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 - 1 = 1 (avec un report de 1 à retrancher au chiffre supérieur)

1- 1 = 0

0 - 0 = 0

1 - 0 = 1

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

2eme nombre : + 1 1 0 1 0 0

1 0 0 0 1 0 1

(+17)2 signé

(-12)CA2

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

2eme nombre : + 0 0 1 1 0 0

1 1 1 0 1 1

(-17)CA2

(+12)2 signé

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