Académique Documents
Professionnel Documents
Culture Documents
I. Introduction
II. Représentation des nombres
III. Changement de base
IV. Nombres à virgule flottante
V. Arithmétique binaire
VI. Ecriture des nombres signés
VII. Codes
I. Introduction
Le système de numération binaire est le plus important de ceux utilisés dans les circuits
numériques, bien qu'il ne faille pas pour autant négliger l'importance d'autres systèmes. Le
système décimal revêt de l'importance en raison de son acceptation universelle pour représenter
les grandeurs du monde courant. De ce fait, il faudra parfois que des valeurs décimales soient
converties en valeurs binaires avant d'être introduites dans le circuit numérique. Par exemple,
lorsque vous composez un nombre décimal sur votre calculatrice (ou sur le clavier de votre
ordinateur), les circuits internes convertissent ce nombre décimal en une valeur binaire.
De même, il y aura des situations où des valeurs binaires données par un circuit numérique
devront être converties en valeurs décimales pour qu'on puisse les lire. Par exemple, une
calculatrice (ou un ordinateur) calcule la réponse à un problème au moyen du système binaire
puis convertit ces réponses en des valeurs décimales avant de les afficher.
II. Représentation des nombres
Les systèmes de numérotation sont utilisés pour compter des objets et de les représenter par
des nombres. Trois notions interviennent dans un système de numérotation :
- La base « b » du système, c’est un nombre entier quelconque
- Les digits du système sont des caractères tous différents et représentent chacun un
élément de la base ; il y en a donc « b » au total
- Poids du digit dépend de sa position dans le nombre
L’écriture d’un nombre N dans la base « b » s’écrit :
(𝑁)𝑏 = (𝑎𝑛 … 𝑎3 𝑎2 𝑎1 𝑎0 )𝑏
Sa représentation polynomiale est :
(𝑁)𝑏 = 𝑎0 . 𝑏 0 + 𝑎1 . 𝑏1 + 𝑎2 . 𝑏 2 + 𝑎3 . 𝑏 3 + ⋯ + 𝑎𝑛 . 𝑏 𝑛
D’une façon générale, dans un système de numération à base « b », un nombre « N » de base
« b » sera décomposable en fonction des puissances entières de « b » tel que :
𝑖=𝑛
𝑁𝑏 = ∑ 𝑎𝑖 . 𝑏 𝑖
𝑖=0
Avec : 0 ≤ 𝑎𝑖 ≤ 𝑏 − 1, 𝑎0 est le digit le moins fort (MSB), 𝑎𝑛 le digit le plus fort (LSB)
La base que nous connaissons le mieux est le système décimal. Cependant, elle est
malheureusement difficile de concevoir du point de vue matériel électronique. Il existe d’autres
formes de numérotation : les systèmes binaire, octale et hexadécimal.
- En base 10, nous avons les 10 symboles : 0, 1, ..., 9
- En base 2, nous avons les 2 symboles : 0, 1
- En base 8, nous avons les 8 symboles : 0, 1, …, 7
- En base 16, nous avons besoin de 16 symboles, nous utiliserons les 10 chiffres plus les
lettres de A à F, soit : 0, 1, …, 9, A, B, C, D, E, F
Dans un système numérique, il peut arriver que trois ou quatre de ces systèmes de
numération cohabitent, d’où l’importance de pouvoir convertir un système dans un autre.
II.1. Système décimal
Le système décimal comprend 10 nombres ou symboles qui sont 0, 1, 2, 3,4, 5, 6, 7, 8, 9 ;
en utilisant ces symboles comme chiffres dans un nombre, on parvient à exprimer n’importe
quelle grandeur. Le système décimal, appelé aussi système à base de 10, s’est imposé tout
naturellement à l’homme puisque ce dernier possède dix doigts.
Le système décimal est dit à poids positionnels, en ce sens que la valeur d’un chiffre dépend
de sa position (rang) dans le nombre.
Exemple :
𝟐𝟎 𝟐𝟏 𝟐𝟐 𝟐𝟑 𝟐𝟒 𝟐𝟓 𝟐𝟔 𝟐𝟕 𝟐𝟖 𝟐𝟗 𝟐𝟏𝟎
Ils existent deux autres systèmes de numération très répandus dans les circuits numériques.
II s'agit des systèmes de numération octal (base de 8) et hexadécimal (base de 16) qui
constituent un outil efficace pour représenter de gros nombres binaires.
II.3.Système octal
Le système de numération octal a comme base huit (base 8), ce qui signifie qu'il comprend
huit symboles possibles, soit 0, 1, 2, 3, 4, 5, 6 et 7. Ainsi, chaque chiffre dans un nombre octal
a une valeur comprise entre 0 et 7. Voici les poids de chacune des positions d'un nombre octal.
Exemple :
L’intérêt de ce système est que la base 8 est une puissance de 2 (16 = 24 ), donc le poids
sont aussi des puissances de 2. Chaque symbole de la base 16 est exprimé sur 4 éléments
binaires :
Décimal →
Décimal → Binaire Décimal → Octal
Hexadécimal
3 7 6 Chiffre octal
011 111 110 Equivalent binaire
(376)8 = (011111110)2
3 7 6 Chiffre hexadécimal
0011 0111 0110 Equivalent binaire
(376)16 = (001101110110)2
0,5 × 2 = 1,375 = 1 + 0
0, 2415068 × 109
Pour les nombres à virgule flottante binaires, le standard utilisé dans les ordinateurs est
défini par la norme ANSI/IEEE 754-1985 selon un triplet : le bit du Signe (S) est celui situé
à gauche, l’exposant (E) et la mantisse ou partie fractionnaire (F).
X = ±1, M × 2𝑑é𝑐𝑎𝑙𝑎𝑔𝑒
E = décalage + 2𝑝−1 − 1
L’exposant polarisé offre une échelle de valeurs comprises entre : -126 et +128 pour
l’exposant en précision simple ; -1022 et +1023 pour l’exposant en précision double ; -16382
et +16383 pour l’exposant en précision étendue.
0+0=0
0+1=1
1+0=1
1+1=0 Avec 1 de retenue
Exemple :
1101
111
𝟏 101 10110
11100 + 101
+ 110
̅̅̅̅̅̅̅̅̅̅ + 01111
𝟏011 ̅̅̅̅̅̅̅̅̅̅̅̅̅ + 11110
𝟏01011 ̅̅̅̅̅̅̅̅̅̅̅̅̅
𝟏11001
V.2. Soustraction binaire
Le scénario est identique pour la soustraction de deux nombres binaires : la soustraction de
2 bits donne un bit de résultat et un bit de retenue de report sur la colonne suivante :
0−0=0
0−1=1 Avec 1 de retenue
1−0=1
1−1=0
Exemple :
110011
− 100101
̅̅̅̅̅̅̅̅̅̅̅̅̅
001110
V.3. Multiplication binaire
La multiplication binaire peut s’effectuer comme une suite d’additions successives des
produits partiels, comme une multiplication décimale.
On multiplie soit par 0 (et le résultat est nul) soit par 1 (et on recopie le multiplicateur).
Exemple :
101110010
× 1011
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
101110010
+ 101110010 .
+ 000000000 . .
+ 101110010 . . .
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
111101010111
V.4. Division binaire
La division binaire est l’opération la plus compliquée. On opère comme en décimal : on
soustrait le diviseur du dividende en commençant par les bits de poids fort. Elle nécessite une
série de soustractions et de décalages pour donner un quotient et un reste.
Exemple :
1111010
−1011
̅̅̅̅̅̅̅̅
1000 |
−0000
̅̅̅̅̅̅̅̅̅ 1011
10001 |
1011
−1011
̅̅̅̅̅̅̅̅̅̅̅̅̅
1100 |
−1011
̅̅̅̅̅̅̅̅̅̅
𝑟𝑒𝑠𝑡𝑒: 1
VI. Ecriture des nombres signés
Comme les calculateurs numériques traitent aussi bien les nombres négatifs que les nombres
positifs, une certaine convention est adoptée pour représenter le signe du nombre (+ ou -).
Généralement, un autre bit appelé bit de signe est ajouté au nombre. La convention la plus
courante consiste à attribuer au nombre positif le bit de signe 0 et au nombre négatif le bit de
signe 1. Le nombre est donc stocké en mémoire en deux parties dont l’une est réservée à la
valeur absolue du nombre en binaire et l’autre, placée à gauche, au bit de signe.
Exemple :
- Nombre décimal +25 exprimé en un nombre binaire signé sur 8 bits :
0 0 0 1 1 0 0 1
- Nombre décimal -25 exprimé en un nombre binaire signé sur 8 bits :
1 0 0 1 1 0 0 1
Bien que cette notation signe–grandeur soit directe, les calculateurs numériques n’y ont
généralement pas recours, en raison de la complexité des circuits qui matérialisent cette
notation d’où l’utilisation dans ces machines de la notation en complément à 2 pour représenter
les nombres signés.
VI.1. Notation en complément à 1
Le complément à 1 d’un nombre binaire s’obtient en changeant chaque 0 par 1 et chaque 1
par 0. Autrement dit, en complémentant chaque bit du nombre.
Exemple :
Nombre binaire 1 0 1 1 0 0 1 0
Complément à 1 0 1 0 0 1 1 0 1
Nombre binaire 1 0 1 1 0 0 1 0
Complément à 1 0 1 0 0 1 1 0 1
Addition (+) 1
Résultat 1 1 1 1 1 1 1 0
9 0.1001
−3 + 1.1101 Complément à 2 de 0011
̅̅̅
6 ̅̅̅̅̅̅̅̅̅̅̅̅̅
10.0110
Retenue à rejetée
3ème cas : nombre positif et nombre négatif plus grand
On effectue l’opération de la même manière que dans le deuxième cas, seulement que le
résultat sera négatif. Alors pour avoir le résultat final, on procède à la complémentation à 2 du
résultat de l’addition codée.
Exemple :
3 0.0011
−7 + 1.1001 Complément à 2 de 0111
̅̅̅̅̅̅
−4 ̅̅̅̅̅̅̅̅̅̅̅̅
1.1100
Le résultat final de l’opération d’addition est le complément à 2 de 1.1100 qui est 1.0100
4ème cas : deux nombres négatifs
C’est le même cas que précédemment, le résultat de somme codée sera négatif d’où sa
complémentation à 2 pour avoir le résultat final.
Exemple :
−3 1.1101
−7 + 1.1001 Complément à 2 de 0011 et Complément à 2 de 0111
̅̅̅̅̅̅
−4 ̅̅̅̅̅̅̅̅̅̅̅̅
1.0110
Le résultat final de l’opération d’addition codée est le complément à 2 de 1.0110 qui est
1.1010
Remarque :
Dans chacun des exemples d’addition et de soustraction que l’on vient d’étudier, les
nombres que l’on a additionnés étaient constitués à la fois d’un bit de signe et de 4 bits de
grandeur. Les réponses aussi comportaient un bit de signe et 4 bits de grandeur. Toute retenue
faite sur le bit de sixième rang était rejetée. De même, il faut que le résultat de l’opération reste
inférieur strictement à (16)10 pour ne pas avoir un dépassement de capacité.
Exemple :
9 0.1001
+ 8 + 0.1000
̅̅̅̅̅̅̅
+17 ̅̅̅̅̅̅̅̅̅̅̅̅
1.0001
bit de signe
Le bit de signe de la réponse est celui d’un nombre négatif, ce qui est manifestement une
erreur. La réponse devrait être +17. Etant donné que la grandeur est 17, il faut plus de 4 bits
pour l’exprimer, et il y a donc un dépassement sur le rang du bit de signe.
VII.. Les principaux codes
Les circuits numériques fonctionnent avec des nombres binaires exprimés sous une forme
ou sous une autre durant leurs opérations internes, malgré que le monde extérieur soit un monde
décimal. Cela implique qu’il faut effectuer fréquemment des conversions entre les systèmes
binaire et décimal. On peut avoir plusieurs combinaisons de bits 0 et 1 pour une même valeur
décimale dont chaque combinaison correspond à un code.
VII.1. Code binaire pur
Quand on fait correspondre à un nombre décimal son équivalent binaire, on dit qu’on a fait
un codage binaire pur.
Nbr Nbr
Binaire pur Binaire pur
Décimal Décimal
0 0 0 0 0 5 0 1 0 1
1 0 0 0 1 6 0 1 1 0
2 0 0 1 0 7 0 1 1 1
3 0 0 1 1 8 1 0 0 0
4 0 1 0 0 9 1 0 0 1
𝑁 = 𝑥4 𝑝4 + 𝑥3 𝑝3 + 𝑥2 𝑝2 + 𝑥1 𝑝1
p1 = 1 pour représenter le 1 décimal dans le code.
Addition en BCD
Exemple 1 :
On additionne 47 + 35 = 82
0100 0111
+0011 +0101
̅̅̅̅̅̅̅̅̅
0111 ̅̅̅̅̅̅̅̅̅̅
1100
+ 1 + 0110
̅̅̅̅̅̅̅̅̅
1000 ̅̅̅̅̅̅̅̅̅̅
0010
On rencontre ici un mot codé qui ne correspond pas à une valeur connue ; il s’agit des six
représentations codées de 4 bits interdites ou non valides. Cette représentation est apparue parce
qu’on a additionné deux chiffres dont la somme dépasse 9. Pour résoudre ce problème, on
ajoute (6)10 = (0110)2 à ce mot codé inconnu afin de prendre en considération le fait qu’on
saute six représentations codées non valides. Si un report est produit, il sera ajouté à la somme
DCB des chiffres du rang suivant.
Exemple 2 :
On additionne 95 + 83 = 178
1001 0111
+1000 +0101
̅̅̅̅̅̅̅̅̅
1 0001 ̅̅̅̅̅̅̅̅̅̅
1000
+0110 +0000
̅̅̅̅̅̅̅̅̅̅̅̅̅̅̅
0001 0111 ̅̅̅̅̅̅̅̅̅̅
1000
Dans le cas où l’addition de deux chiffres donne un report (celui-ci est additionné avec le chiffre
de rang immédiatement à gauche), on ajoute une correction de (0110)2 au résultat de la somme.
Le tableau suivant énumère le code gray de 4 bits pour les nombres décimaux de 0 à 15.
Nbr Nbr
Code Gray Code Gray
Décimal Décimal
0 0 0 0 0 8 1 1 0 0
1 0 0 0 1 9 1 1 0 1
2 0 0 1 1 10 1 1 1 1
3 0 0 1 0 11 1 1 1 0
4 0 1 1 0 12 1 0 1 0
5 0 1 1 1 13 1 0 1 1
6 0 1 0 1 14 1 0 0 1
7 0 1 0 0 15 1 0 0 0
Binaire pur 1 0 1 1 0
Code Gray 1 1 1 0 1
Code Gray 1 1 0 1 1
Binaire pur 1 0 0 1 0
VII.4. Code ASCII (American Standard Code for Information Interchange)
Il n'existe pas de méthode pour stocker directement les caractères. Chaque caractère possède
donc son équivalent en code numérique : C'est le code ASCII
Le code ASCII de base représentait les caractères sur 7 bits (c'est-à-dire 128 caractères possibles,
de 0 à 127) :
- Les codes 0 à 31 ne sont pas des caractères (ils ne sont pas imprimables). On les appelle
caractères de contrôle car ils permettent de faire des actions telles que : Retour sur la ligne
(CR), Bip Sonore (BEL), …
La table des caractères ASCII étendu sur 8 bits (c’est-à-dire 256 caractères possibles de 0 à 255).