Vous êtes sur la page 1sur 8

Représentation de l’information et architecture des machines informatiques Licence 1 MAI

Représentation de l’information et
architecture des machines informatiques
Dr Ousmane KHOUMA

Chapitre 1 : Système de numération

Objectifs :
 Comprendre le langage de l’ordinateur c’est-à-dire le binaire ;
 Maîtriser les principales bases : binaire (base 2), octal (base 8) et hexadécimale (base 16) ;
 Maîtriser les conversions d’une base à une autre ;
 Maîtriser les conversions des nombres à virgule et les nombres signés.

1. Base d’un système de numération


L’information numérique est toujours traitée par un circuit. Pour cela, il faut choisir un système de
numération de base b (b un nombre entier naturel ≥ 2). En technologie numérique, les systèmes les
plus utilisés sont : le système binaire (base 2), le système octal (base 8), le système décimal (base 10)
et le système hexadécimal (base 16).
Nous allons noter (N)b pour désigner le nombre N écrit en base b. Les éléments contenus dans une
base b appartiennent à l’intervalle[0, b − 1].

1.1. Système décimal (base 10)


C’est le système que nous utilisons tous les jours. Il comprend 10 chiffres qui sont {0, 1, 2, 3, 4, 5, 6,
7, 8 et 9}. De façon générale, tout nombre décimal 𝑁 de 𝑘 chiffres s’écrit :
(N)10 = (αk−1 … α1 α0 )10 = αk−1 ∗ 10k−1 + ⋯ + α1 ∗ 101 + α0 ∗ 100 .
L’indice i représente le rang et 10i le poids du chiffre αi (i ∈ [0, k − 1]).

Exemple : N = (2538)10 = 2000 + 500 + 30 + 8


= 2 ∗ 103 + 5 ∗ 102 + 3 ∗ 101 + 8 ∗ 100
M = (297.45)10 = 200 + 90 + 7 + 0.4 + 0.05

Dr Ousmane KHOUMA Université Virtuelle du Sénégal 1


Représentation de l’information et architecture des machines informatiques Licence 1 MAI

= 2 ∗ 102 + 9 ∗ 101 + 7 ∗ 100 + 4 ∗ 10−1 + 5 ∗ 10−2

1.2. Système binaire (base 2)


Ce système de numération comprend 2 symboles qui sont {0,1}. Ces symboles sont appelés bits
(contraction de binary digit) ou éléments binaires.

Exemple : 𝑁 = (10110)2 .
Ce nombre, écrit sous la forme d’un polynôme, a pour expression :
(10110)2 = 1 ∗ 24 + 0 ∗ 23 + 1 ∗ 22 + 1 ∗ 21 + 0 ∗ 20 = (22)10

Le dernier chiffre de droite est le bit de poids le plus faible ou LSB (Last Significant Bit), son rang est
0. Le chiffre le plus à gauche est le bit de poids le plus fort ou MSB (Most Significant Bit), dans ce cas
son rang est 4.

Remarque : En utilisant n bits, on peut former 2𝑛 nombres différents et le plus grand d’entre eux est
égal à (2𝑛 − 1).

1.3. Système octal (base 8)


Il comprend 8 chiffres qui sont {0, 1, 2, 3, 4, 5, 6, 7}.
Exemple : 𝑁 = (6543)8 , 3 est le chiffre de poids le plus faible et 6 est le chiffre de poids le plus fort.
La représentation polynomiale est la suivante :
(𝟔𝟓𝟒𝟑)𝟖 = 𝟔 ∗ 𝟖𝟑 + 𝟓 ∗ 𝟖𝟐 + 𝟒 ∗ 𝟖𝟏 + 𝟑 ∗ 𝟖𝟎 = (𝟑𝟒𝟐𝟕)𝟏𝟎
1.4. Système hexadécimal (base 16)
Il est composé de 16 symboles (10 chiffres et 6 lettres) : {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F}.
Les lettres A, B, C, D, E, F représentent respectivement les chiffres 10, 11, 12, 13, 14, 15.
Exemple : N = (AC63)16 , 3 est le symbole de poids le plus faible et A est le symbole de poids le plus
fort.
La représentation polynomiale est la suivante :
(AC63)16 = A ∗ 163 + C ∗ 162 + 6 ∗ 161 + 3 ∗ 160
= 10 ∗ 163 + 12 ∗ 162 + 6 ∗ 161 + 3 ∗ 160 = (44131)10

2. Changement de base
C’est la conversion d’un nombre écrit dans un système de numération vers un autre système.
2.1. Conversion d’un nombre décimal en un nombre d’un système d’une autre base
On divise le nombre décimal à concevoir par la base b et on conserve le reste. Le quotient obtenu est
divisé par b et on conserve le reste. Il faut répéter l’opération jusqu’à trouver un quotient nul.
Les restes successifs sont écrits, en commençant par le dernier, de la gauche vers la droite pour former
l’expression de N dans le système de base b.
 Décimal à binaire
Exemple : Convertir le nombre décimal 86 en binaire (base 2).

Dr Ousmane KHOUMA Université Virtuelle du Sénégal 2


Représentation de l’information et architecture des machines informatiques Licence 1 MAI

(86)10 = (1010110)2
 Décimal à octal
Exemple : Convertir le nombre décimal 205 en octal (base 8).

(205)10 = (315)8

 Décimal à hexadécimal
Exemple : Convertir le nombre décimal 876 en hexadécimal (base 16).

(876)10 = (36C)16

2.2. Conversion d’un système d’une base de numération (2, 8, 16) en décimal :
Pour retrouver le nombre décimal, il suffit d'additionner les monômes représentés chacun par le chiffre
appartenant au système de numération multiplié par la puissance de la base correspondant au rang de
ce chiffre.
 Conversion binaire en décimal :
Exemple : N = (101101)2 = 1 ∗ 25 + 0 ∗ 24 + 1 ∗ 23 + 1 ∗ 22 + 0 ∗ 21 + 1 ∗ 20 = (45)10
(10110.011)2 = 1 ∗ 24 + 0 ∗ 23 + 1 ∗ 22 + 1 ∗ 21 + 0 ∗ 20 + 0 ∗ 2−1 + 1 ∗ 2−2 + 1 ∗ 2−3
= (22,375)10 .

 Conversion octal en décimal :


Exemple : N = (7513)8 = 7 ∗ 83 + 5 ∗ 82 + 1 ∗ 81 + 3 ∗ 80 = (3915)10 .

 Conversion hexadécimal en décimal :


Exemple : N = (FB61)16 = F ∗ 163 + B ∗ 162 + 6 ∗ 161 + 1 ∗ 160
= 15 ∗ 163 + 11 ∗ 162 + 6 ∗ 161 + 1 ∗ 160 = (64353)10

 Table de correspondance entre les nombres des différentes bases :

Dr Ousmane KHOUMA Université Virtuelle du Sénégal 3


Représentation de l’information et architecture des machines informatiques Licence 1 MAI

Bases
16 10 8 2
0 0 0 0000
1 1 1 0001
2 2 2 0010
3 3 3 0011
4 4 4 0100
5 5 5 0101
6 6 6 0110
7 7 7 0111
8 8 10 1000
9 9 11 1001
A 10 12 1010
B 11 13 1011
C 12 14 1100
D 13 15 1101
E 14 16 1110
F 15 17 1111

2.3. Conversion d’un nombre décimal à virgule


Pour convertir un nombre décimal à virgule dans une base b quelconque, il faut :
 Convertir la partie entière en effectuant des divisions successives par b.
 Convertir la partie fractionnaire en effectuant des multiplications successives par b et en
conservant à chaque fois le chiffre devenant entier.
Exemple :
Conversion du nombre du 28,625 en base 2
 Conversion de la partie entière
En appliquant la méthode de divisions successives par 2, nous trouvons :
(28)10 = (11100)2
 Conversion de la partie fractionnaire
0,625 ∗ 2 = 𝟏, 25 Lecture du résultat
0,25 ∗ 2 = 𝟎, 5 de la partie
0,5 ∗ 2 = 𝟏, 0 fractionnaire

(𝟐𝟖, 𝟔𝟐𝟓)𝟏𝟎 = (𝟏𝟏𝟏𝟎𝟎, 𝟏𝟎𝟏)𝟐

Remarque : Il arrive des cas où la multiplication de la partie fractionnaire par la base b ne soit
jamais nulle. Cette partie fractionnaire devient alors cyclique.
Exemple : (0,8625)10 = (? )2

0,8625 ∗ 2 = 𝟏, 725
0,725 ∗ 2 = 𝟏, 45
0,45 ∗ 2 = 𝟎, 9

Dr Ousmane KHOUMA Université Virtuelle du Sénégal 4


Représentation de l’information et architecture des machines informatiques Licence 1 MAI

0,9 ∗ 2 = 𝟏, 8 Lecture du résultat


0,8 ∗ 2 = 𝟏, 6 de la partie
0,6 ∗ 2 = 𝟏, 2 fractionnaire

0,2 ∗ 2 = 𝟎, 4
0,4 ∗ 2 = 𝟎, 8
0,8 ∗ 2 = 𝟏, 6
(𝟎, 𝟖𝟔𝟐𝟓)𝟏𝟎 = (𝟎, 𝟏𝟏𝟎𝟏𝟏𝟏𝟎𝟎 ⋯ )
𝟐

On obtient un cycle quand on trouve un résultat deux fois lors des multiplications.
Le nombre (0, 8625)10 est cyclique dans la base 2 de période 1100.
2.4. Représentation en virgule fixe
Un nombre décimal à virgule au rang k (k chiffres après la virgule) est défini par :

(𝑁)10 = (𝛼𝑛−1 … 𝛼1 𝛼0 , 𝛽−1 … 𝛽−𝑘 )2

= 𝛼𝑛−1 ∙ 2𝑛−1 + ⋯ + 𝛼1 ∙ 21 + 𝛼0 ∙ 20 + 𝛽−1 ∙ 2−1 + ⋯ + 𝛽−𝑘 ∙ 2−𝑘

2.5. Représentation en virgule flottante

Le nombre N est représenté sous la forme :

exposant mantisse
1ière approche
Soit 𝑁 = 𝑎3 𝑎2 𝑎1 𝑎0 , 𝑎−1 𝑎−2 𝑎−3 : N peut se noter : (𝑎6 𝑎5 𝑎4 𝑎3 𝑎2 𝑎1 𝑎0 ). 2−3
𝑒𝑥𝑝𝑜𝑠𝑎𝑛𝑡 = − 3
{
𝑚𝑎𝑛𝑡𝑖𝑠𝑠𝑒 = 𝑎6 𝑎5 𝑎4 𝑎3 𝑎2 𝑎1 𝑎0

L’exposant est noté en complément à 2 en mémoire du calculateur (ordinateur par exemple).

Exemple :
Soit la mémoire de taille suivante :
4 bits 12 bits
exposant Mantisse

On veut coder la valeur 26,75 en virgule flottante.

(26,75)10 = (11010, 110)2


(11010, 110)2 = (11010110). 2−3

1101 𝟎𝟎𝟎𝟎𝟏𝟏𝟎𝟏𝟎𝟏𝟏𝟎

𝑒𝑥𝑝𝑜𝑠𝑎𝑛𝑡 = −3 et 𝑚𝑎𝑛𝑡𝑖𝑠𝑠𝑒 = 000011010110 = 214

Dr Ousmane KHOUMA Université Virtuelle du Sénégal 5


Représentation de l’information et architecture des machines informatiques Licence 1 MAI

26, 75 = 214. 2−3


2ième approche

C’est la méthode inverse de la précédente : on considère que le bit le plus à gauche de la mantisse a
pour poids 2−1 .

Soit 𝑁 = 𝑎3 𝑎2 𝑎1 𝑎0 , 𝑎−1 𝑎−2 𝑎−3 : N peut aussi se noter : (0, 𝑎−1 𝑎−2 𝑎−3 𝑎−4 𝑎−5 𝑎−6 𝑎−7 ). 24

Exemple :

Même exemple que précédemment :

(26,75)10 = (11010, 110)2 ⟶ (0,11010110). 25

0101 𝟏𝟏𝟎𝟏𝟎𝟏𝟏𝟎𝟎𝟎𝟎𝟎

Remarque : Les ordinateurs utilisent cette représentation avec 32 bits pour la mantisse et 8 bits pour
l’exposant. En général, on utilise la représentation inverse, avec le bit le plus à gauche égal à 1, soit
une mantisse normalisée ⇒ 0,5 ≤ 𝑀 < 1.

2.6. Représentation IEEE 754


Le standard IEEE 754 définit deux formats : les nombres en simple précision sur 32 bits, les nombres
en double précision sur 64 bits.
Un nombre N de 32 bits est représenté sous la forme :

s Exposant mantisse

Où le signe « s » est codé sur 1 bit, l’exposant est codé sur 8 bits en code relatif à 127, et la mantisse
sur 23 bits.
Un nombre de 64 bits (double précision) utilise la même représentation à ceci près que la taille de
l’exposant est portée à 11 bits en code relatif à 1023, et celle de la mantisse à 52 bits.
Exemple :
 0,5 = 2−1 = 2−1 (1 + 0) .

Code (0,5) = 0 01111110 000…0 = 3F000000


s E m

 1,5 = 20 (1 + 2−1 )

Code (1,5) = 0 01111111 1000…0 = 3FC0000


s E m

NB : Le « 1 » n’est pas représenté dans la mantisse, il est sous-entendu car il représente le terme du
monôme le plus haut degré.

Dr Ousmane KHOUMA Université Virtuelle du Sénégal 6


Représentation de l’information et architecture des machines informatiques Licence 1 MAI

2.7. Conversion d’un système d’une base 8 ou 16 en un nombre binaire


Pour convertir un nombre dans le système octal (respectivement hexadécimal) vers le système binaire,
on remplace chaque symbole du nombre écrit dans le système octal (respectivement hexadécimal) par
son équivalent écrit dans le système binaire.
 Conversion d’un nombre octal (base 8) en un nombre binaire :
Le nombre 8 peut se mettre sous la forme suivante : 8 = 23 . Tous les symboles de cette base sont
représentés sur 3 bits.
N = (257)8 ⇒ N = ( ⏟
2 ⏟
5 ⏟
7 )8 = (010101111)2
010 101 111

 Conversion d’un nombre hexadécimal (base 16) en un nombre binaire :


Le nombre 16 peut se mettre sous la forme suivante : 16 = 24 . Tous les symboles de cette base sont
représentés sur 4 bits.
N = (ECA)16 = ( ⏟
E ⏟
C ⏟
A )16 = (111011001010)2
1110 1100 1010

2.8. Conversion d’un système binaire en nombre octal ou hexadécimal


C’est l’opération inverse de la précédente.
 Conversion d’un nombre binaire en un nombre octal :
Pour convertir un nombre binaire en un nombre octal, on regroupe les 1 et 0 du nombre par trois (3
bits) en commençant par la droite, puis chaque groupe est remplacé par le chiffre octal correspondant.

N = (11001101111)2 = (011
⏟ 001
⏟ 101
⏟ 111
⏟ )2
3 1 5 7

⟹ N = (3157)8

 Conversion d’un nombre binaire en un nombre hexadécimal :


On fait des regroupements de 4 bits.
N = (100001101111)2 = (1000
⏟ ⏟
0110 ⏟ )2
1111
8 6 F

⟹ N = (86F)16
2.9. Conversion octal vers hexadécimal et hexadécimal vers octal :
Pour convertir un nombre octal en nombre hexadécimal, on le convertit d’abord en binaire puis, le
nombre binaire est converti en hexadécimal.
Exemple :
(456)8 = ( ⏟
4 ⏟
5 ⏟
6 )8 = (100101110)2 ⟹ (0001
⏟ ⏟
0010 ⏟ )2 = (12E)16
1110
100 101 110 1 2 E

De même pour convertir un nombre hexadécimal en nombre octal, on passe par le système binaire.
Exemple :
(F65)16 = ( ⏟
F ⏟
6 ⏟
5 )16 = (111101100101)2 ⟹ (111
⏟ 101
⏟ 100
⏟ 101
⏟ )2 = (7545)8
1111 0110 0101 7 5 4 5

Dr Ousmane KHOUMA Université Virtuelle du Sénégal 7


Représentation de l’information et architecture des machines informatiques Licence 1 MAI

3. Nombres signés
La plupart des dispositifs numériques traitent également des nombres négatifs. Deux symboles
complémentaires sont pris en compte : + et −.
Un bit indiquant si le nombre est négatif (bit 1) ou positif (bit 0) : c’est le bit de signe.
Le bit de signe est le premier à gauche de l’ensemble de bits représentant le nombre binaire. Exemple :
+ (47)10 = 𝟎101111 et − (47)10 = 𝟏101111 .
3.1. Complément à 1 d’un nombre binaire
Complémenter un chiffre binaire à 1 revient à remplacer 0 par 1 et 1 par 0. Exemple − 47 s’écrit
𝟏101111 en notation exacte et sont complément à 1 est 𝟏010000, le bit de signe étant inchangé.
3.2. Complément à 2 d’un nombre binaire
Pour obtenir le complément à 2 d’un nombre binaire, il faut prendre le complément à 1 de ce nombre
et lui ajouter 1.
Exemple : −(47)10 = 𝟏101111 son complément à 1 est 𝟏010000, son complément à 2
s’écrit 𝟏010001.

Dr Ousmane KHOUMA Université Virtuelle du Sénégal 8

Vous aimerez peut-être aussi