Vous êtes sur la page 1sur 10

Automatise et Informatique industrielle Benazzouz Djamel UMBB-2020

chapitre 1 Systèmes de numérotation et représentation des données

Chapitre 1 : Systèmes de numérotation et représentation des données


Introduction
Représentations numériques
Représentation des nombres signés
Représentation Radix-complément
Représentation en virgule flottante binaire
Codes numériques spéciaux
Opérations arithmétiques
Conclusion

Introduction
Les systèmes numériques complexes tels que les calculatrices ou les ordinateurs doivent traiter les informations
sous forme de nombre, de caractère alphanumérique ou d'instruction. Ces informations sont représentées à l'aide
de nombre binaire noté : Bit (Binary digit). Un système numérique est un système linguistique d'un ensemble
ordonné de symboles appelés chiffres avec des valeurs définies pour des opérations mathématiques. L'objectif de
ce chapitre est de démontrer les théorèmes et de rappeler les notions fondamentales du codage de l'information
utilisées par les systèmes numériques.

1. Représentation numérique
1.1 Représentation polynomial

Généralement, un nombre 𝑵 exprimé dans une base 𝒃 donnée peut être décomposé sous une forme polynomiale
comme suit :

N(b) = S (anbn + an−1bn−1 + ... + a1b1 + a0b0 + ... + a− mb− m ) (Équation 1)

Où :

𝑺 est le bit se signe, 𝑏 est le radix (ou la base) qui représente le nombre total de chiffres dans le système numérique,
𝑎𝑖 est un chiffre de l'ensemble à la position 𝑖 tel que: 𝒂 ∈ 𝑵 et 𝟎 < 𝒂𝒊 < 𝒃, 𝑎𝑛 est le bit le plus significatif (Most
Significant Bit - MSB), 𝑎−𝑚 est le bit de poids faible (Low Significant Bit- LSB), (𝑎𝑛 , … 𝑎0 ) et (𝑎−1 , … 𝑎−𝑚 )
représentent la partie entière et la partie fractionnaire du nombre respectivement.
Exemples :

N10 = +3017.528 = +(3 103 + 0 102 + 1101 + 7 100 + 5 10−1 + 2 10−2 + 8 10−3 )

N7 = +301.52 = +(3  72 + 0  71 + 1 70 + 5  7−1 + 2  7−2 )

1.2 Représentations des nombres positifs en base standard

Les bases numériques les plus utilisées sont : la base décimale (𝑏 = 10), la base binaire (𝑏 = 2), la base octale
(𝑏 = 8) et la base hexadécimale (𝑏 = 16). En base binaire, deux chiffres (bits) sont utilisés 0 et 1. En bases
octales, 8 chiffres sont utilisés (0,1,2,3,4,5,6,7) et en bases hexadécimales ; 16 symboles (chiffres et symboles)
sont utilisés (0,1,2,3,4,5,6,7,8,9, 𝐴, 𝐵, 𝐶, 𝐷, 𝐸, 𝐹). Le système binaire et ses dérivés sont ceux utilisés pour le
codage des informations dans les systèmes numériques.

Les conversions les plus utilisées sont : Base 𝑏 à base 10 ; base 10 à base 𝑏 ; base 2 à base 2𝑛 (8 ou 16) ; base 2𝑛
(8 ou16) à base2.

1.2.1 Base 𝒃 à base 𝟏𝟎


Pour convertir un nombre d'une base 𝑏 donnée en base décimale, la méthode d'addition est utilisée qui consiste à
utiliser la forme polynomiale donnée dans l'équation (1).

1
Automatise et Informatique industrielle Benazzouz Djamel UMBB-2020
chapitre 1 Systèmes de numérotation et représentation des données

Exemple 1 : Conversion du nombre N 2 = (1011011) 2 à son nombre équivalent en base 10

N10 = (1 26 + 0  25 + 1 24 + 1 23 + 0  22 + 1 21 + 1 20 )10 = (91)10

Exemple 2 : Conversion du nombre N 2 = (1011.011)2 à son nombre équivalent en base 10

N10 = (1 23 + 0  22 + 1 21 + 1 20 + 0  2−1 + 1 2−2 + 1 2−3 )10 = (11.375)10

Exemple 3 : Conversion du nombre N8 = (254.77)8 à son nombre équivalent en base 10

N10 = (2  82 + 5  81 + 4  80 + 7  8−1 + 7  8−2 )10 = (172.984375)10

Example 4 : Conversion du nombre N16 = (3CF .7)16 à son nombre équivalent en base 10

N10 = (3 162 + C 161 + F 160 + 7  16−1 )10


N10 = (3 162 + 12 161 + 15 160 + 7  16−1 )10 = (975.4375)10

1.2.2 Base 10 à base b


a) Nombres entiers
Pour convertir un entier décimal en une base b donnée, une division successive est utilisée. Par exemple, pour
convertir un entier décimal en son nombre binaire équivalent, les divisions successives seront faites par 2 et les
restes de ces divisions formeront le nombre converti en base 2

Exemple 1 : Conversion de (91)10 en son nombre équivalent en base 2 (ou code binaire).

1ère méthode : division entière successive

91 2
1 45 2
1 22 2
0 11 2
1 5 2
1 2 2
0 1 2
1 0

(91)10 = (1011011) 2

2eme méthode : on écrit 91 comme une somme des opérandes 2𝑛 et on remplit le tableau :
91 = 64 + 27 = 64 + (16 + 11) = 64 + 16 + (8 + 3) = 64 + 16 + 8 + 2 + 1

.. .. 128 64 32 16 8 4 2 1
0 0 0 1 0 1 1 0 1 1

Exemple 2 : Conversion de (172)10 en son nombre équivalent en base 8 (ou code octal)

172 8
4 21 8
5 2 8
2 0

(172)10 = (254)8

2
Automatise et Informatique industrielle Benazzouz Djamel UMBB-2020
chapitre 1 Systèmes de numérotation et représentation des données

Exemple 3 : Conversion de (1200)10 en son nombre équivalent en base 16 (ou code Hexadécimal)

975 16
15 60 16
12 3 16
3 0

(975)10 = (3𝐶𝐹)8
b) Nombres fractionnaires
Pour convertir un nombre fractionnaire de la base 10 en une autre base, d'abord la partie entière est convertie
comme illustré ci-dessus, et la partie fractionnaire est convertie en utilisant une multiplication successive. La
partie fractionnaire est multipliée par la base cible, en conservant les parties entières qui apparaissent.

Exemple 1 : Conversion de N10 = (11.375)10 en son nombre équivalent en base 2 (ou code binaire)

0.375 × 2 = 𝟎. 750
0.750 × 2 = 𝟏. 500
0.500 × 2 = 𝟏. 000
0.000 × 2 = 𝟎. 000
D'un autre coté : (11)10 = (1011) 2 , donc (11.375)10 = (1011.0110)2

Exemple 2 : Conversion de N10 = (172.984375)10 en son nombre équivalent en base 8 (ou code octal)
0.984375 × 8 = 𝟕. 875
0.875000 × 8 = 𝟕. 000
0.000000 × 8 = 𝟎. 000
D'un autre côté, (172)10 = (254)8 , donc (172.984375)10 = (254.77)8

1.2.3 Base 𝟐 à base 𝟐𝒏

L’utilisation de la base 2𝑛 (8 or 16) permet de réduire le nombre de symboles à écrire tout en conservant la
possibilité de conversion en binaire. Pour convertir un nombre de base 2 en base 2𝑛 , il suffit de regrouper les bits
en groupes de 𝑛 (3 pour la base octal et 4 pour la base hexadécimale) et remplacer chacun de ces groupes par le
symbole correspondant.

Exemple 1 Conversion de N 2 = (110110111)2 en son nombre équivalent en base 8 puis en base 16 (hex)

N2 = (110110111)2 = (110 110 111)2 = (667)8


6 6 7

N2 = (110110111)2 = (0001 1011 0111)2 = (1B7)16


1 B 7

Exemple 2 conversion of N 2 = (11101.0111) 2 en son nombre équivalent en base 8 puis en base 16

N2 = (11101.0111)2 = (011 101 . 011 100)2 = (35.34)8


3 5 3 4

N2 = (11101.0111)2 = (0001 1101 . 0111 )2 = (1D.7)16


1 D 7

1.2.4 Base 𝟐𝒏 à base 2


La conversion inverse peut être effectuée simplement en représentant chaque symbole du nombre donné dans la
base 2𝑛 dans son code binaire correspondant (base 2).
3
Automatise et Informatique industrielle Benazzouz Djamel UMBB-2020
chapitre 1 Systèmes de numérotation et représentation des données

Exemple 1 : Conversion de N8 = (4 A1)16 en son nombre binaire équivalent (base 2)

N16 = (4 A1)16 = (0100 1010 0001 )2 = (010010100001)2


4 A 1

Exemple 2 : Conversion de N8 = (725.16)8 en son nombre binaire équivalent (base 2)

N8 = (725.16)8 = (111 011 101 . 001 110)2 = (111011101.001110)2


7 2 5 1 6

2. Représentation des nombres signés


Les systèmes numériques doivent pouvoir traiter des nombres positifs et négatifs. L'utilisation d'une représentation
signée suppose l'utilisation d'un format donné (nombre fixe de bits). Dans cette représentation, un nombre se
compose d'une grandeur et d'un bit de signe. Le MSB est le bit de signe et les bits restants sont la grandeur.

N = an −1 an −2 ...a2 a1a0 (Équation 2)


sign magnitude

Remarque : Si le bit de signe est 0, 𝑁 est un nombre positif


Si le bit de signe est 1, 𝑁 est un nombre négatif

Exemple : pour un nombre signé binaire de 4 bits : ( +5 ) = 0101 et ( −5 ) = 1101


1101 est la représentation sign-magnitude de (-5).
2.1 Représentation du complément à 1 (1’s comp)
Les nombres positifs dans les représentations du complément à 1 sont représentés de la même manière que dans
les nombres sign-magnitude. Cependant, les nombres négatifs ne sont que le complément 1 des nombres positifs
correspondants en gardant le bit de signe égal à 1.
Exemple : Pour un nombre signé binaire de 8 bits :

( +5) = 0000 0101


( −5) = 5 = 1111 1010
2.2 Représentation du complément à 2 (2’s comp)
Dans le complément à 2, la représentation des nombres positifs est la même que celle représentée dans les nombres
sign-magnitude ou les nombres du complément à 1. Mais la représentation du complément à 2 des nombres
négatifs est le complément à 1 du nombre plus un (+1) et en gardant le bit de signe égal à 1.
Exemple : Pour un nombre signé binaire de 8 bits :

( +5) = 0000 0101


( −5) = 5 + 1 = 1111 1011
2.3 Le rang de représentation des nombres signés

Le rang de nombres entiers signés pouvant être représentés avec 𝑛 bits :

a) sign-magnitude: [−(2n−1 − 1) , +(2n−1 − 1)]


avec deux représentations de zéro: ( +0 ) = 00...0 , ( −0 ) = 10...0
b) 1’s comp: [−(2n−1 − 1) , +(2n−1 − 1)]
avec deux représentations de zéro: ( +0 ) = 00...0 , ( −0 ) = 10...0

4
Automatise et Informatique industrielle Benazzouz Djamel UMBB-2020
chapitre 1 Systèmes de numérotation et représentation des données

c) 2’s comp: [−(2n−1 ) , +(2n−1 − 1)]


avec une seul représentation de zéro ( +0 ) = ( −0 ) = 00...0

Exemple : La liste de tous les nombres signés de 3-bits représentés en sign-magnitude, comp à 1 et comp à 2
sont porté sur le tableau suivant :
Nombres
S-M 1’s comp 2’s comp
signés
+3 011 011 011
+2 010 010 010
+1 001 001 001
+0 000 000 000
-0 100 111 000
-1 101 110 111
-2 110 101 110
-3 111 100 101

2.4 Représentation du Radix-complement

Le Radix-complement d'un nombre à 𝑛 chiffres est obtenu par :

[ N ]r = r n − N (Équation 3)

Le terme [𝑁]𝑟 est appelé : le complément à 𝑟 de [𝑁] .

Exemple : le complément à 10 du 82 est : 102 − 82 = 18


3. Représentation en virgule flottante (Binary floating-point)
Le système de nombres à virgule flottante (floating point) basé sur une notation scientifique est capable de
représenter des nombres très grands et très petits sans augmentation des bits contrairement à la représentation en
virgule fixe. La représentation en virgule flottante se compose de trois parties : signe, mantisse et exposant tels
que :

N = S.M .b E (Équation 4)

Où : 𝑆 est le bit de sign, 𝑀 est la mantisse, 𝑏 la base (dans notre cas 𝑏 = 2) et 𝐸 est l'exposant.
Le format le plus courant est défini par la norme IEEE 754-1985 sous trois formes : simple précision, double
précision et précision étendue.
3.1 Nombre binaire à virgule flottante simple précision (VFSP)
Cette représentation utilise 32 bits comme suit :

S E M
1 bit 8 - bits 23 bits

𝑆 = 0 pour les nombres positifs, 𝑆 = 1 pour les nombres négatifs. 𝐸 est l'exposant tel que: −127 ≤ 𝐸 ≤ 127,
pour faciliter les choses et afin de traiter les numéros non signés pour 𝐸, 𝐸 est biaisé en y ajoutant 127, Donc le
nouvel exposant devient 𝐸𝑏 = 𝐸 + 127 tell que 0 ≤ 𝐸𝑏 ≤ 255. 𝐸𝑏 = 0 et 𝐸𝑏 = 255 sont utilisés uniquement
pour des cas particuliers. M représente la fraction du nombre binaire après normalisation, la normalisation signifie
faire le point binaire à gauche de tous les bits sauf le MSB (qui est toujours égal à un) -comme l’écriture
scientifique-.

Exemple 1 : représentation du nombre 𝑁 = (11100100101011)2 dans la forme IEEE 754-1985 VFSP.

N 2 = (11100100101011)2 = 1.1100100101011 213


mantissa

5
Automatise et Informatique industrielle Benazzouz Djamel UMBB-2020
chapitre 1 Systèmes de numérotation et représentation des données

Le nombre est positif, donc : 𝑆 = 0, la mantisse est 𝑀 = (1100100101011).et 𝐸 = 13 est le vrai exposent.

Eb = E + 127 = (140)10 = (10001100) 2

La représentation VFSP du N est :

N = 0 10001100 11001001010110000...0 = (4664AC00)16 .

Remarque1 : Pour trouver un nombre déjà représenté au format VFSP, on utilise la formule de l'équation 5

N = (−1)S (1 + 0.M )(2Eb −127 ) (Équation 5)

Exemple 2 : On retrouve le nombre 𝑁 représenté dans la forme IEEE 754-1985 VFSP comme : (3𝐴860000)16

(3 A860000)16 = (0011101001100000..0)2 = 0 01110100 1100000.......0


S Eb M

Donc, N = (−1)0 (1 + 0.11000..)(2−11 ) = (1.11 2−11 ) 2 = (0.0008544921875)10 , avec 𝐸0 = (116)10

Cas spéciaux :

𝐸𝑏 = 0 et 𝑀 = 0: le nombre est nul


𝐸𝑏 = 255 et 𝑀 = 0: nombre infini (+∞ si le nombre est positif et −∞ si le nombre est négatif)
𝐸𝑏 = 0 et 𝑀 ≠ 0: nombre dénormalisé (tré petit)
𝐸𝑏 = 255 et 𝑀 ≠ 0: NAN (Not A Number) ce n’est pas un nombre.
Remarque 2 : Pour ajouter ou soustraire deux nombres en VF, on procède comme suit :
(1) Si les exposants sont différents, on les égalise (on ajuste le plus petit)
(2) On ajoute la mantisse complète des deux nombres
(3) On normalise le résultat
(4) On traduit (ou arrondit) le résultat si la fraction résultante est supérieure à 23 bits
3.2 Nombre binaire à virgule flottante double précision (VFDP)
Cette représentation utilise 64 bits comme suit :

S E M
1 bit 11 - bits 52 bits

Dans cette représentation, l'exposant est biaisé par 1023 (𝐸𝑏 = 𝐸 + 1023)
3.3 Nombre binaire à virgule flottante à précision étendue
Cette représentation utilise 80 bits comme suit :

S E M
1 bit 15 - bits 64 bits

Dans cette représentation, l'exposant est biaisé par 16333 (𝐸𝑏 = 𝐸 + 16333)
4. Codes numériques spéciaux
L'électronique numérique ne traite pas uniquement des chiffres, elle peut traiter des lettres et des symboles. Pour
rendre cela possible, toutes ces informations doivent être converties en quelque sorte en binaire pour être traitées
par ces circuits numériques. Les combinaisons de bits qui représentent des nombres, des lettres ou des symboles
sont des codes numériques. Parmi ces codes on trouve: code décimal (ex. : code BCD), code alphanumérique (ex.:
code ASCII), code de détection d'erreur (ex.: code Hamming) et code réfléchi (ex.: code Gray).

6
Automatise et Informatique industrielle Benazzouz Djamel UMBB-2020
chapitre 1 Systèmes de numérotation et représentation des données

4.1 Code BCD (Binary Coded Decimal)


Il s'agit du code le plus simple utilisé pour représenter les nombres décimaux avec une série de 1 et de 0. Le code
BCD est un code binaire de 4 bits qui représente les chiffres décimaux de 0 à 9. Les six combinaisons de 4 bits
restantes de (1010 à 1111) sont considérées comme non valides et n'existent pas.
Exemples :

(0)10 = (0000) BCD


(5)10 = (0101) BCD
(6)10 = (0110) BCD
(45)10 = (0100 0101) BCD
(14.62) = (0001 0100 . 0110 0010) BCD

4.2 Code Gray


Le code Gray n'a pas de poids attribués à ses positions de bits et ce n'est pas un code positionnel. Le code Gray
est différent du code binaire non signé car les valeurs successives du code Gray diffèrent d'un seul bit.
Supposons qu'un chiffre de code binaire (𝑏3 𝑏2 𝑏1 𝑏1 ) soit converti en code Gray, les chiffres du code gray
(𝑔3 𝑔2 𝑔1 𝑔0 ) sont obtenus comme indiqué dans la figure suivante :
𝑏3 + 𝑏2 + 𝑏1 + 𝑏0

𝑔3 𝑔2 𝑔1 𝑔0

Où : 𝑔3 = 𝑏3 ; 𝑔2 = 𝑏3 + 𝑏2 ; 𝑔1 = 𝑏2 + 𝑏1 ; 𝑔0 = 𝑏1 + 𝑏0
Avec 1 + 1 = 0 ; 1 + 0 = 0 + 1 = 1 et 0 + 0 = 0
Alternativement, la figure suivante illustre comment convertir un code Gray donné en son code binaire équivalent.
𝑔3 𝑔2 𝑔1 𝑔0
+ + +
𝑏3 𝑏2 𝑏1 𝑏0

Où : 𝑏3 = 𝑔3 ; 𝑏2 = 𝑏3 + 𝑔2 ; 𝑏1 = 𝑏2 + 𝑔1 ; 𝑏0 = 𝑏1 + 𝑔0
Avec 1 + 1 = 0 ; 1 + 0 = 0 + 1 = 1 et 0 + 0 = 0
Le tableau suivant montre la représentation en code Gray des nombres décimaux 0 à 9

Décimal Binaire Gray


0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
8 1000 1100
9 1001 1101

7
Automatise et Informatique industrielle Benazzouz Djamel UMBB-2020
chapitre 1 Systèmes de numérotation et représentation des données

4.3 Codes Alphanumérique (ASCII code)


Certains codes peuvent avoir une signification non numérique. Le plus connu d'entre eux est l'American Standard
Code for Information Interchange (ASCII) qui est utilisé pour représenter les caractères alphanumériques. Dans
ce code, 128 combinaisons (lettres, chiffres, signes de ponctuation, caractères de contrôle, etc.) sont codées sur 7
bits.
Remarque : le code ASCII à 7 bits n'a que 128 codes uniques qui ne suffisent pas pour représenter certains
caractères graphiques affichés sur les écrans d'ordinateur. Un code ASCII étendu à 8 bits donne 256 codes uniques.
Les 128 codes uniques étendus représentent des symboles graphiques qui sont devenus une norme non officielle
car les fournisseurs utilisent leur propre interprétation de ces codes graphiques.
5. Opérations arithmétiques
5.1 Addition
Le principe de l'addition est dans toutes les bases similaires à celui de l'addition décimale, simplement en ajoutant
symbole par symbole à partir de poids faibles, et en propageant éventuellement une retenue. Si la forme numérique
est fixe, le résultat de l’addition peut entraîner un débordement (overflow).
Example : L’addition (55)10 + (13)10 en mode binaire. Le résultat est : (1000100)2
11 1 11
110111
+ 001101
= 1000100
5.2 Soustraction
La soustraction dans toutes les bases est également similaire à celle des soustractions décimales. Par exemple,
dans la soustraction binaire, lorsque 1 est soustrait de 0, il est nécessaire d'emprunter 1 au bit d'ordre supérieur
suivant et ce bit est réduit de 1 (ou 1 est ajouté au bit suivant de subtrahend) et le reste est 1.

Exemple 1 : La soustraction : (1101)2 − (11001)2 en mode binaire. The résultat est (1100)2

1 1 1 1 001
+ 1 101
= 1 100
Remarque : En arithmétique binaire, la soustraction est le plus souvent appliquée aux nombres signés. Dans ce
cas, cette opération est dans tous les cas réduits à une addition.

Exemple 2 : La soustraction (18)10 − (11)10 en mode : 8-bits 2’s comp.

(18)10 − (11)10 = (18)10 + (−11)10


(18)10 = (00010100) 2
(11)10 = (00001011) 2
Le deuxième complément (2’s comp) du nombre (-11) est (11110101)
La soustraction (18)10 − (11)10 devient l’addition de (00010100) et (11110101)
1 1 1
0 0 0 1 0010
+ 11 1 1 0101
= 10 0 0 0 0 1 1 1
sign

Le bit de sign est 0, donc le resulta est positive and égale à (0000111)2 = (+7)10

8
Automatise et Informatique industrielle Benazzouz Djamel UMBB-2020
chapitre 1 Systèmes de numérotation et représentation des données

Exemple 3 : La soustraction (11)10 − (18)10 en mode : 8-bits 2’s comp.

Le deuxième complément (2’s comp) du nombre (-18) est (11101110)


La soustraction (11)10 − (18)10 devient l’addition de : (00001011) et (11101110)
1 1 1
000 0 1 0 11
+ 111 0 1 110
= 1111 1 0 0 1
sign

Le bit de sign est 1 (résultat négatif), mais ce n'est pas celui obtient, on prend un complément à 2 pour le résultat
obtenu pour obtenir la vraie différence. Donc, le complément à 2 de (11111001) est (10000111)2 = −7

Exemple 4 : La soustraction +12 − 5 en utilisant le complément à 10


Le complément à 10 du 52 est 48. La soustraction devient : +12 + 48 = 60

Le nombre 60 n’est pas le résultat. Le complément à 10 du 60 est 40, donc le résultat est −40
5.5 Addition en BCD
Si l'on ajoute en arithmétique binaire les codes BCD correspondant aux chiffres dont la somme ne dépasse pas 9,
le résultat est la représentation correcte de la somme en mode BCD. Cependant, dès que la somme de deux chiffres
dépasse 9 dans un motif de 4 bits, une correction doit être apportée en ajoutant (6)10 ou (0110)2 pour obtenir la
représentation BCD correcte du résultat

Exemple 1 : L’addition en mode BCD de 45 et 31

(45)10 = (01000101) BCD


(31)10 = (00110001) BCD

0100 0101
+ 0011 0001
= 0111 0110
7 6

Le résultat est (0111 0110)𝐵𝐶𝐷 = (76)10

Exemple 2 : Addition en mode BCD de 76 et 42

(76)10 = (01110110) BCD


(42)10 = (01000010) BCD

0111 0110
+ 0100 0010
11
= 1011 1000
11 9 8

+ 0110
= 1 0001 1000
1 1 8

Le résultat est (1 0001 1000)𝐵𝐶𝐷 = (118)10

9
Automatise et Informatique industrielle Benazzouz Djamel UMBB-2020
chapitre 1 Systèmes de numérotation et représentation des données

Conclusion
Ce chapitre représente les systèmes de numérotation et de codage les plus utilisés dans les systèmes électroniques
et numériques. Le codage des nombres est à l'étude pour effectuer certaines opérations plus rapidement afin d'être
traitable par les circuits électroniques, qui feront l’objet du prochain chapitre.

10

Vous aimerez peut-être aussi