Académique Documents
Professionnel Documents
Culture Documents
INTRODUCTION :
Bien que les ordinateurs soient qualifiés "d'intelligence artificielle", ils n'ont aucune faculté
d'appréhender le monde extérieur. Leur seule intelligence réside dans leur rapidité
d'exécution de combinaisons d'ordre à deux états (0 , 1) équivalent à (éteint , allumé).
Le terme bit signifie « binary digit », c'est-à-dire 0 ou 1 en numérotation binaire. Il s'agit de
la plus petite unité d'information manipulable par une machine numérique.
Le système de numération décimale (ou système décimal) est familier à chacun de nous, il
revêt de l’importance en raison de son utilisation universelle pour représenter les grandeurs
du monde courant. De ce fait, il faudra parfois convertir des valeurs décimales en valeurs
binaires avant de pouvoir les traiter dans un circuit numérique. Une même information peut
se coder de plusieurs façons en fonction de son utilisation, par exemple la forme d’un
nombre change selon qu’il entre dans un bloc de calcul, qu’il apparaît sur un circuit
d’affichage lumineux, sur un écran de visualisation, sur une imprimante etc…
Les nombres binaires (de base 2) sont utilisés de manière extensive dans les circuits
numériques, de même que les nombres des systèmes octal (base 8) et hexadécimal (base
16).
I. Définition
Mme F.DJIDEL
Page 1
𝑁 = 𝑎 𝐵 = 𝑎 .𝐵 + 𝑎 .𝐵 + 𝑎 .𝐵 + ⋯………𝑎 .𝐵
Où les a0, a1,………………. an-1 sont strictement inférieurs à B et an-1 est non nul.
𝑁 = 𝑎 10
L’écriture (745) est appelée forme implicite alors que l’écriture 5.100+ 4.101+7.102 s’appelle
forme explicite ou forme polynomiale.
Chaque chiffre du nombre est à multiplier par une puissance de 10 c’est ce que l’on
nomme le poids du chiffre.
Cette manière d’écrire les nombres est appelée système de numération de position :
(12435)10 =1.104 +2. 103+4. 102 +3. 101 +5. 100
Le chiffre 1 est appelé le poids fort, le chiffre 5 est appelé le poids faible.
III. CONVERSIONS
Il existe trois types de conversion :
Conversion du système décimal à un autre système, cette opération s’appelle
le codage.
Conversion d’un système autre que le décimal à un autre système décimal,
cette opération s’appelle le décodage.
Conversion entre deux systèmes non décimaux, cette opération s’appelle le
transcodage.
(58)10 =(111010)2
L’opération de codage est obtenue par des divisions successives d’un nombre décimal
par la base B du système jusqu’au moment où le quotient devient nul, le premier reste
est le poids faible.
Exemple :
Mme F.DJIDEL
Page 3
0.375x2=0.75 0.75x2=1.5 0.5x2=1.0
(58.375)10 = (111010.011)2
Remarque : On peut remarquer qu’un nombre fini dans une base peut conduire à une
suite infinie dans une autre base.
Un nombre réel est constitué de deux parties, la partie entière et la partie fractionnaire.
La partie entière est codée en effectuant des divisions successives par la base B et la
partie fractionnaire est codée en effectuant des multiplications successives par la base B.
Exemple :
(25.75)10 =( 11001.11)2
(250.8125)10 =( 372.64)8
Le décodage est l’opération inverse du codage, cette opération est assez simple puisqu’il
suffit de faire le développement en polynôme (forme explicite) de ce nombre dans la base B
et de faire la somme par la suite.
Exemple :
Le transcodage d’un nombre est le passage entre deux systèmes non décimaux.
Transcodage
Mme F.DJIDEL B1 B2
Page 4
Décodage Codage
B =10
Exemple :
(14)10 = (16)8
Pour certaines bases (2 vers 8, 2 vers 16) le transcodage peut se faire sans passer par le
décimal.
47 8 47 2
7 5 8 1 23 2
5 0 1 11 2
1 5 2
1 2 2
0 1 2
1 0
Règle de conversion : Pour convertir un nombre de la base 2 vers la base 8, il faut découper
ce nombre en bloc de 3 bits en partant de la droite vers la gauche pour la partie entière et de
la gauche en allant vers la droite pour la partie fractionnaire ensuite remplacer chaque bloc
par sa valeur octale correspondante.
Pour convertir un nombre de la base 8 vers la base 2, il suffit de transcrire chaque chiffre de
ce nombre en binaire sur 3 bits (en partant du poids faible).
Exemple :
Mme F.DJIDEL
Page 5
Exemple :
Pour convertir un nombre de la base 8 vers la base 16 ou inversement, on peut transiter par la
base 10 mais on peut également passer par la base 2.
Base 8 base 2 base 16
Base 16 base 2 base 8
Mme F.DJIDEL
Page 6
Remarque : Le report apparait dés que la somme atteint la base.
Exemple :
2. La soustraction binaire :
0–0=0
0 – 1 = 1 emprunt 1
1–0=1
1–1= 0
3. La multiplication :
0 x 0 =0
0x1=0
1x0=0
1x1=1
Exemple :
1101 13 multiplicande
X 1011 x 11 multiplicateur
1101 = 143
1101.
101. . .
10001111
La multiplication consiste à faire une suite d’addition avec le multiplicande décalé vers la
gauche. Cette opération est répétée autant de fois qu’il y’a d’éléments binaires dans le
multiplicateur. Il faut donc pour réaliser une multiplication disposer de la fonction d’addition
et de décalage.
4. La division binaire :
Mme F.DJIDEL
Page 7
V. Représentation des nombres entiers signés
Il existe deux types d’entiers :
- Les entiers non signés (positifs par exp : une longueur).
- Les entiers signés (positifs ou négatifs par exp : une température)
Nous posons le problème : Comment indiquer à la machine qu’un nombre est négatif ou
positif ?
Pour traiter les nombres signés, on ajoute un bit de signe au nombre, « 0 » pour les nombres
positifs et « un » pour les nombres négatifs.
Dans cette représentation, un nombre est représenté par son signe et sa valeur absolue en
binaire.
Dans cette représentation, si nous utilisons n bits, l’intervalle des valeurs qu’on peut
n- 1
représenter est : -(2 – 1) ≤ N ≤ +(2n- 1 – 1)
Exemple : Nous utilisons n=3 bits pour représenter des nombres en SVA
Signe VA N
0 00 +0
0 01 +1
Mme F.DJIDEL
Page 8
0 10 +2
0 11 +3
1 00 -0
1 01 -1
1 10 -2
1 11 -3
Cette représentation est assez simple, le « 0 » possède deux représentations +0 et -0, ce qui
conduit à des difficultés au niveau des opérations arithmétiques.
Pour trouver le complément à un d’un nombre, il suffit d’inverser tous ses bits.
CA1(0101101) = (1010010)
Remarque :
- Pour les nombres signés, le bit de poids fort indique le signe du nombre.
- CA1(CA1(N))=N
Exemple :- Quelle est la valeur décimale représentée par la valeur 101010 en CA sur 6 bits.
Décimal CA1
+0 000
+1 001
+2 010
+3 011
-0 111
-1 110
-2 101
-3 100
Dans cette représentation, si nous utilisons n bits, l’intervalle des valeurs qu’on peut
n- 1 n- 1
représenter est : -(2 – 1) ≤ N ≤ +(2 – 1).
Mme F.DJIDEL
Page 9
Dans cette représentation le « 0 » possède deux représentations.
3. Représentation en complément à deux (CA2):
CA2(N)=CA1(N) + 1
Exemple :
CA2(101101)=010010+1=010011
CA2(0101.011)=1010.100+0.001=1010.101
Le CA2 d’un nombre négatif est obtenu en calculant le CA2 de son équivalent positif.
(+7)= (0111)2
L’intervalle des valeurs qu’on peut représenter si nous utilisons n bits est :
-(2n- 1 ) ≤ N ≤ +(2n- 1 – 1)
Mme F.DJIDEL
Page 10
Grâce au complément à deux toute soustraction se transforme à une addition
Démonstration : A – B = A + CA2(B)
A-B= A + 2n – B= A + 2n – 1 + 1 - B
A – B = A + CA2 (B)
Exemple :
B = (11101011)CA2 le bit de signe est 1 donc B est négatif, pour trouver la valeur décimale on
doit calculer son CA2 pour revenir à sa vraie valeur binaire :
B=-(00010101)2 =-(1x20+1x22+1x24)=-(1+4+16)=-(21)10
La retenue après le bit de signe n’est pas prise en compte dans le résultat.
Mme F.DJIDEL
Page 11
-9 1 0 1 1 1 RSS=0
+4 + 0 0 1 0 0 RAS=0 → Débordement =0
-5 1 1011
Le résultat est négatif et est en CA2
Cas 4 : Deux nombres négatifs
1
-9 1 0 1 1 1 RSS=1
-4 + 1 1 1 0 0 RAS=1 → Débordement =0
-13 1 1 0 0 1 1
4. La retenue et le débordement
On dit qu’il y-a une retenue si une opération arithmétique génère un report.
On dit qu’il y-a un débordement (overflow) ou dépassement de capacité si le
résultat de l’opération sur n bits est faux :
- Le nombre de bits utilisés est insuffisant pour contenir le résultat,
autrement dit, le résultat dépasse l’intervalle des valeurs sur les n bits
utilisés.
- En additionnant 2 nombres de signes différents, il ne peut pas y avoir de
dépassement, par contre lorsqu’on additionne deux nombres de même
signe, on a un dépassement si le signe du résultat est différent du signe des
deux nombres additionnés. Un débordement donne toujours un résultat
inexact.
VI. La représentation des nombres réels
Un nombre réel est constitué de 2 parties ; la partie entière et la partie fractionnaire,
séparés par une virgule.
PB : Comment indiquer à la machine la position de la virgule ?
Il existe deux méthodes pour représenter les nombres réels :
- Avec une virgule fixe
- Avec une virgule flottante
Mme F.DJIDEL
Page 12
VI.1 La virgule fixe :
Dans cette représentation, la partie entière est représentée sur n bits et la partie
fractionnaire sur p bits, en plus un bit pour le signe.
-7.75 ≤ N ≤ +7.75
Dans cette représentation les valeurs sont limitées et nous n’avons pas une grande précision
(exposant fixe), d’où vient la virgule fixe.
𝑁 = ±𝑀 ∗ 𝐵
Mme F.DJIDEL
Page 13
Avec M : Mantisse
B : Base
e : Exposant
exemple : (15.6)=0.1256*102
-(110.101)2 = - (0.110101)*23
(1001.11)2 = (0.100111)*24
Il faut donc représenter les nombres sous une forme normalisée afin que la représentation
ne varie pas d’un logiciel à un autre.
Un nombre normalisé en virgule flottante est un nombre dans lequel le chiffre qui précède
la virgule est un « 0 » et le chiffre qui suit la virgule est un « 1 ».
L’écriture en virgule flottante est normalisée par la forme IEEE754 (Institute of Electrical
and Electronics Engineers).
Biais= 2p-1 -1 tel que p :nombre de bits réservés pour l’exposant, dans notre cas p=8
Bais=127
Mme F.DJIDEL
Page 14
Le format IEEE 754 est le suivant :
Exposant réel =3
Pseudo-Mantisse = 00010100000000000000000
0 10000010 00010100000000000000000
4 1 0 A 0 0 0 0
(8.625)10 = (410A0000)IEEE754
Le Code BCD
Définition :
Inventé entre 1950 et 1960, le code BCD, Binary Coded Decimal (Décimal Codé en Binaire)
est un code qui s’applique uniquement aux chiffres de la base 10. Chaque chiffre décimal est
représenté directement par sa valeur binaire sur un format de 4 bits.
Le BCD est trés utilisé en électronique pour le stockage ou l’affichage des valeurs
numériques. La conversion étant simple ne nécessitant pas de processeur et se rapprochant
des périphériques comme les afficheurs 7 segments. Un autre exemple est le stockage des
dates dans le BIOS d’une carte mère en BCD.
Décimale BCD
0 0000
1 0001
Mme F.DJIDEL
Page 15
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Exemple :
Remarque 13 par exemple s’écrit 1101 en binaire, sa représentation BCD est 0001 0011
Le CODE GRAY
Définition
Inventé par Frank Gray en 1953, le code de Gray est un code binaire qui permet de passer
d’un nombre entier N au nombre suivant (N+1) en changeant un seul digit. (On l’appelle
également Code Réfléchi). Ce code sert également dans les Tableaux de Karnaugh utilisés
lors de la conception de circuits logiques.
Mme F.DJIDEL
Page 16
Exercice : Quel est le nombre suivant en code gray
111101 1111100
1011110 1011010
1100100 1101100
• Gn=Bn
• Gi = 0 si Bi = Bi+1
• Gi =1 si Bi ≠ Bi+1
Exemple : pour n = 4 X = (1 0 0 0 1 )2
• B4 = 1 => G4 = 1
• B3 = 0 => B3 ≠ B4 => G3 = 1
• B2 = 0 => B2 = B3 => G2 = 0
• B1 = 0 => B1 = B2 => G1 = 0
En résumé
( 1 0 0 1 0 )2
( 1 1 0 1 1 )gray
De gauche à droite faire la somme des bits adjacents sans retenue oubien faire un
XOR.
• Bn=Gn
• Bi = 1 si Gi ≠ Bi+1
• Bi = 0 si Gi = Bi+1
Mme F.DJIDEL
Page 17
Exemple : pour n = 4 X = (1 0 1 0 1)gray
• G4 = 1 => B4 = 1
• G3 = 0 => G3 ≠ B4 => B3 = 1
• G2 = 1 => G2 = B3 => B2 = 0
• G1 = 0 => G1 = B2 => B1 = 0
En résumé
( 1 1 0 1 1)Gray
( 1 0 0 1 0 )2
Mme F.DJIDEL
Page 18
Le code ASCII
Définition
Un ordinateur ne serait pas d'une grande utilité s'il n'était pas capable de traiter
l'information non numérique. On veut dire par là qu'un ordinateur doit reconnaître des
codes qui correspondent à des nombres, des lettres et des caractères spéciaux. Les codes
de ce genre sont dits alphanumériques et le plus connu est appelé American Standard
Code for Information Interchange (ASCII), mise au point dans les années 60. Ce code
définit un ensemble de 128 caractères représentés sur 8 bits, cet ensemble doit
renfermer au moins :
Mme F.DJIDEL
Page 19
Exemple :
La lettre M se trouve au croisement de la ligne 4 et de la colonne D son code est 4D en
hexadécimal. Sa représentation est donc : 01001101 en code ASCII.
• Caractères de contrôle :
On peut considérer que l'ASCII dispose d’une trentaine de caractères de contrôle plus ou moins
utilisés. Les caractères usuels sont NUL, LF, CR, DEL et ESC .
- LF et CR indiquent la fin d’une ligne. On utilisera LF, CR ou les 2 selon le système d’exploitation.
Sous Linux par exemple ce sera LF, sous Mac OS on utilise CR sous Windows ce sera CR suivi de LF.
Le Code UNICODE
Définition :
L’Unicode est une norme de codage mise au point dans les années 90. Il définit plus de
100000 caractères de plusieurs langues, codés sur 16 bits.
Le code ASCII est inclus dans l’Unicode.
Le code ASCII est uniquement basé sur les lettres anglo-saxonnes, on n’y trouve pas les
lettres accentuées de la langue française comme le à ou le é par exemple. On y trouve
également d’autres lettres utilisées dans les langes hispanique ou germanique.
Comme pour le code ASCII le code d’un caractère est donné par le numéro de la ligne
suivi du numéro de la colonne ou il se trouve.
Exemple :
Mme F.DJIDEL
Page 21