Académique Documents
Professionnel Documents
Culture Documents
2
1- Systèmes de numération courants .......................................................................................... 2
1-1. Système décimal (base 10).............................................................................................. 2
1-2 Système binaire (base 2) .................................................................................................. 2
1-3 Système octal (base 8) ..................................................................................................... 2
1-4 Système hexadécimal (base 16) ....................................................................................... 3
1-5 Décodage - Codage .......................................................................................................... 3
1-6 Conversion entre bases .................................................................................................... 5
2- Systèmes de codage ............................................................................................................... 6
2-1 Le Décimal Codé en Binaire (DCB ou BCD en anglais)................................................. 6
2-2 Le binaire réfléchi (code de GRAY) ................................................................................ 6
2-3 Code ASCII ...................................................................................................................... 8
2-4 Codes détecteur et correcteur d’erreurs ........................................................................... 9
2-5 Etude du Code de Hamming .......................................................................................... 10
3- Opérations en binaire ........................................................................................................... 13
3-1 Nombres non signés ....................................................................................................... 13
3-2 Nombres signés .............................................................................................................. 14
Dr Salou HAMIDOU i
Numération et Codage
Les systèmes de numération les plus courants utilisent des chiffres (0, 1, 2, 3, 4, 5, 6, 7, 8, 9)
et des lettres (A, B, C, D, E, F) pour représenter un état physique. Cette représentation a
essentiellement un caractère conventionnel, ce qui permet d’associer à un état physique donné
une signification ou symbolisation particulière.
Dr Salou HAMIDOU 2
1-4 Système hexadécimal (base 16)
16 symboles sont employés (chiffres 0 à 9 et lettres A, B, C, D, E, F).
La représentation binaire utilisée par les ordinateurs est moins adaptée aux opérations
manuelles. Dans certains cas, il est cependant indispensable de pouvoir raisonner sur la
représentation interne des données. On utilise alors la représentation hexadécimale, qui
présente deux avantages :
• elle est concise (utilise moins de caractères pour représenter des mots) ;
• les conversions de l’hexadécimal vers le binaire et vice-versa sont immédiates.
Ex : 016 =0H = 00002 = 010 ; FH = 11112 = 1510 ; FFH = 25510 ;
3A5H = 3.162 + 10.161 + 5.160 = 3.256 + 160 + 5 = 93310
0 0000 0 0 10 1010 12 A
1 0001 1 1 11 1011 13 B Relation entre binaire, hexadécimal et octal :
2 0010 2 2 12 1100 14 C
3 0011 3 3 13 1101 15 D
4 0100 4 4 14 1110 16 E
5 0101 5 5 15 1111 17 F
6 0110 6 6 16 10000 20 10
7 0111 7 7 17 10001 21 11
8 1000 10 8 18 10010 22 12
9 1001 11 9 19 10011 23 13
Dr Salou HAMIDOU 3
Remarque : l’établissement du tableau fait apparaître que le bit de droite change d’état toutes
les lignes. Puis en décalant vers la gauche toutes les deux lignes, pour le second, toutes les
quatre lignes pour le troisième, …, 2n lignes pour le nième bit.
Codage
Le codage (opération inverse du décodage) est l’opération qui consiste à transformer un
nombre décimal dans une autre base. Plusieurs méthodes sont utilisées
• Méthode de la division successive
Pour convertir la partie entière d’un nombre décimal N dans une autre base b (Nb), on divise
le nombre N que l’on désire convertir par b, puis on réitère l’opération avec le
dividende obtenu jusqu’à son annulation (obtenir un quotient nul). Le nombre (Nb)
cherché s’écrit en plaçant les restes des divisions successives dans l’ordre inverse de
leur obtention (sens de lecture de bas vers le haut).
Exemple : convertir 89 en binaire :
• Méthode de la soustraction
Cette méthode consiste à retrancher du nombre décimal la plus grande puissance de la
base b possible, et ainsi de suite dans l’ordre décroissant des puissances. Si on peut
retirer la puissance de b concernée, on note (1) sinon on note (0) et on contenue de la même
manière jusqu'à la plus petite puissance de b possible (b0 pour les entiers).
Exemples : pour convertir 89 en binaire, on fera : 89 = 1x64(26) reste 25, donc 0x32 (25),
1x16 (24) reste 9, 1x8 (23) reste 1 donc 0x4(22) , 0x2 (21), 1x1(20).
D’où 89 = 1.26+ 0.25 +1.24 +1.23 +0.22 +0.21 + 1.20 = 10110012
100 = 1.82+ 4.81 +4.80 =1448 ;
1128 = 4.162 + 6.161 + 8.160 = 46816
Dr Salou HAMIDOU 4
Partie entière 89 = 10110012 = 1318 = 5916
Partie fractionnaire 0,75 =
0,75x 2 = 1,5 → 1 0,75x 8 = 6 ; 0,75x16 = 12
0,5x 2 = 1 → 1 0,75 = (0,11)2 = (0,6)8 = (0,C)16
89,75 = (1011001,11)2 = (131,6)8 = (59,C)16
Octal → binaire (8=23) s’obtient par conversion de chaque chiffre de la base 8 en binaire sur
3 bits.
Exemple : 1338 = (001) (011) (011) = 0010110112
1 3 3
Binaire → octal : on regroupe par 3 bits et on remplace par le chiffre décimal correspondant.
Exemple : 010 001 101 0002 = 21508.
Dr Salou HAMIDOU 5
2- Systèmes de codage
Remarque :
Ne pas confondre DCB et code binaire pur : quand on code selon le code binaire pur on
prend le nombre dans son intégralité et on le convertit ; par contre, quand on code en DCB
on code chaque chiffre indépendamment les uns des autres.
Exemple
137 = (010001001)2 = (000100110111)DCB ; 231 = (11100111)2 = (001000110001)DCB
Dr Salou HAMIDOU 6
Pour convertir un nombre en Code Binaire Naturel (CBN) vers un nombre en Code Binaire
Réfléchi (CBR), il faut ajouter le CBN trouvé à lui-même décalé d’un rang vers la gauche,
sans tenir compte de l’éventuelle retenue et en abandonnant dans le résultat le bit de poids
faible.
Exemple : Soit le nombre décimal 87 ; sa valeur binaire est 10101112.
Donc :
1010111
+1010111
11111001
L’équivalent en code binaire réfléchi de (87)10 est 1111100CBR
Règles pratiques :
1) le bit de gauche du code binaire est le même que celui du code de Gray ;
2) ajouter le MSB du binaire à son voisin de droite immédiat et reporter la somme (en
négligeant une retenue éventuelle) sur la ligne intérieure correspondant au Gray ;
3) continuer l’addition des bits à leur voisin de droite et reporter la somme ainsi obtenue
jusqu’à atteindre le LSB ;
4) le nombre de code de Gray aura le même nombre de bits que le binaire initial.
Pour la conversion inverse, les règles 1), 3) et 4) restent valables et pour la règle 2) procéder
de la même manière mais en ajoutant le bit obtenu du binaire à celui du gray suivant.
Exemples :
NB : Ce code dit "à distance minimale" est un code non pondéré (pas de poids affecté sur la
position des chiffres dans le mot) ; ne convient pas aux opérations arithmétiques ; utilisé dans
les convertisseurs par exemple.
Le tableau suivant donne la conversion entre systèmes des 18 premiers nombres décimaux
Décimal Octal Hexa. Binaire Gray Décimal Octal Hexa. Binaire Gray
0 0 0 0000 0000 8 10 8 1000 1100
1 1 1 0001 0001 9 11 9 1001 1101
2 2 2 0010 0011 10 12 A 1010 1111
3 3 3 0011 0010 11 13 B 1011 1110
4 4 4 0100 0110 12 14 C 1100 1010
5 5 5 0101 0111 13 15 D 1101 1011
6 6 6 0110 0101 14 16 E 1110 1001
7 7 7 0111 0100 15 17 F 1111 1000
Dr Salou HAMIDOU 7
2-3 Code ASCII
ASCII (American Standard Code for Information Interchange) est un code alphanumérique, il
sert à coder des chiffres, des lettres, des signes de ponctuations et des caractères spéciaux (26
lettres minuscules, 26 lettres majuscules, 7 signes, 20 à 40 caractères spéciaux comme +, /,
=, %, &, $...). C’est le plus répandu. On le retrouve pratiquement dans tous les ordinateurs et
leurs organes périphériques, pour leurs dialogues et la représentation des textes en mémoire.
Chaque symbole (caractère d’imprimerie) est codé par 7 bits (un 8ème bit peut servir de parité)
: 27 = 128 combinaisons différentes. On peut donc attribuer à chaque symbole un code dans
l’intervalle [0, …, 127= 27-1].
Dr Salou HAMIDOU 8
2-4 Codes détecteur et correcteur d’erreurs
Lorsque des données numériques sont stockées ou transmises, des perturbations (par exemple
électromagnétiques) peuvent les endommager. Les codes détecteurs et correcteurs d’erreurs
permettent, dans une certaine mesure, de détecter si les données ont été altérées et si c’est le
cas, de reconstituer les données d’origine par un mécanisme de correction. Ces codes sont par
exemple utilisés dans les supports de stockage numériques que sont les CD, DVD et disques
Blu-ray.
Le rôle des codes détecteurs et correcteurs d’erreurs est de détecter les erreurs de transmission
et/ou de stockage et de les corriger. Ils utilisent pour cela une stratégie de consolidation, qui
consiste à ajouter de l’information redondante.
La détection des erreurs de transmission des données dans les systèmes numériques s’effectue
à l’aide d’un bit de parité qui est transmis avec le mot numérique.
La parité paire (beaucoup plus utilisée), repose sur la génération d’un bit à «1» lorsque le
nombre de 1 dans le mot y compris le bit de parité est pair
Le bit de parité est calculé de telle sorte que le nombre total de 1 soit toujours pair.
Exemple en code ASCII
Au mot d’information : 100 1101 → mot de code : 0 100 1101
Au mot d’information : 110 0111 → mot de code : 1 110 0111
La parité impaire (moins utilisée), repose sur la génération d’un bit à «1» lorsque le nombre
de 1 dans le mot y compris le bit de parité est impair.
Le schéma fonctionnel de la détection des erreurs par le bit de parité P, créé par un générateur
de parité à partir des données injectées se présente comme suit.
La détection de l’erreur de transmission des données dans les systèmes numériques s’effectue
à l’aide d’un bit de parité qui est transmis avec le mot numérique.
La table de vérité de générateur de bits de parité paire est illustrée comme suit.
Dr Salou HAMIDOU 9
N° 0 1 2 3 4 5 6 7 8
DCBA 0000 0001 0010 0011 0100 0101 0110 0111 1000
P 1 0 0 1 0 1 1 0 0
N° 9 10 11 12 13 14 15 16 17
DCBA 1001 1010 1011 1100 1101 1110 1111 10000 10001
P 1 1 0 1 0 0 1 0 1
Dr Salou HAMIDOU 10
Recherche de l’erreur dans un mot de Hamming
Si les bits de contrôle de réception P’0, P’1 et P’2 valent 0, il n’y a pas d’erreurs, sinon la
valeur des bits de contrôle indique la position de l’erreur entre 1 et 7.
Si P’0 vaut 1, les valeurs possibles de (P’2P’1P’0) sont 001, 011, 101, 111, c’est-à-dire 1, 3, 5,
7.
Si P’1 vaut 1, les valeurs possibles de (P’2P’1P’0) sont 010, 011, 110,111, c’est-à-dire 2, 3, 6,
7.
Si P’2 vaut 1, les valeurs possibles de (P’2P’1P’0) sont 100, 101, 110, 111, c’est-à-dire 4, 5, 6,
7.
Calcul des bits de contrôle d’un code de parité paire
Le bit P0 est calculé par rapport aux bits d’indice de positions 7, 5, 3 et sa valeur de position 1.
Le bit P1 est calculé par rapport aux bits d’indice de positions 7, 6, 3 et sa valeur de position
2.
Le bit P2 est calculé par rapport aux bits d’indice de positions 7, 6, 5 et sa valeur de position 4.
Exemple : calculer les bits de contrôle de la transmission correcte du mot hamming 1010
1 0 1 ? 0 ? ?
7 6 5 4 3 2 1
1 0 1 0 0 1 0
7 6 5 4 3 2 1
Le schéma fonctionnel du code 7-4 présente le circuit de l’émission des données en passant
par les générateurs de bits de contrôle de la parité, puis les détecteurs d’erreurs, le correcteur
d’erreur jusqu’au système de réception des données.
Dr Salou HAMIDOU 11
Etude de la transmission du mot 1010 (D7D6D5D3).
La sortie P4 du générateur de parité est 0 car les entrées sont 101; la sortie P2 est 1 car les
entrées sont 100 ; enfin la sortie P1 est 0 car les entrées sont 110, donc l’information binaire
émise sur la ligne de transmission sera 1010010.
D D D P D P P
7 6 5 4 3 2 1
1 0 1 0 0 1 0
D D D P D P P
7 6 5 4 3 2 1
1 0 0 0 0 1 0
Dr Salou HAMIDOU 12
D D D P D P P E
7 6 5 4 3 2 1 4
1 0 0 0 x x x 1
D D D P D P P E
7 6 5 4 3 2 1 2
0
1 0 x x 0 1 x
D D D P D P P E
7 6 5 4 3 2 1 1
1 x 0 x 0 x 0 1
3- Opérations en binaire
Addition
Règles : 0 + 0 = 0 ; 0 +1 = 1 + 0 =1 ;
1 + 1 = 0 avec une retenue de 1 ;
1 + 1 + 1 =1 avec retenue de 1
Exemple : additionner en binaire les décimaux 25 et 9
Soustraction
La soustraction en binaire se fait de la même manière qu'une addition, sauf que lorsque l'on
soustrait un bit à 1 d'un bit à 0, on soustrait une retenue pour le bit de poids plus élevé. Quand
la quantité à soustraire est supérieure à la quantité dont on soustrait, on emprunte 1 au voisin
de gauche. En binaire ce 1 ajoute 2 à la quantité dont on soustrait, tandis qu’en décimal il
ajoute 10.
Dr Salou HAMIDOU 13
Multiplication
Règles : 1 × 0 = 0 ; 1 × 1 =1
Ex : effectuer la multiplication de 13 par 6 en binaire.
Division
La méthode est identique à celle d’une division de deux nombres décimaux ; mais plus simple
encore, car le quotient ne prend que deux valeurs 1et 0 : 1 si le dividende est supérieur au
diviseur et 0 sinon.
Exemple 2 :
Exemple 1 :
Remarques :
- l’addition est l’opération la plus importante dans les systèmes numériques ; les
opérations de soustraction, multiplication et division effectuées par les ordinateurs ne
sont essentiellement que des variantes de l’opération d’addition.
- si les nombres sont négatifs, on prend leur complément à 2 avant la division, le
quotient est en notation exacte ;
- - si l’un des nombres est négatif, on prend son complément à 2 avant la division, le
résultat est le complément à 2 du quotient cherché.
Nous n’avons, jusqu’à présent tenu compte, que des nombre positifs. Pourtant, la
plupart des dispositifs numériques traitent également les nombres négatifs, ce qui impose de
prendre en compte deux symboles supplémentaire : + et -.
Dr Salou HAMIDOU 14
Ces dispositifs n’acceptant que des 0 et des 1, il faut ajouter un autre bit pour
symboliser le signe. Lorsqu’il est égal à 0, le nombre est positif ; s’il est égal à 1, le nombre
est négatif.
Ce bit est appelé bit de signe et le nombre ainsi formé est dit signé. Ainsi, avec deux
sortes de symbole, 0 et 1, il est possible de définir complètement un nombre binaire.
- un bit indiquant si le nombre est positif ou négatif : c’est le bit de signe. C’est le
premier bit à gauche de l’ensemble de bits représentant le nombre binaire.
Exemple : + 47 = % 0 101111 et - 47 = % 1 101111
Pour obtenir le complément à 2 (C2) d’un nombre binaire, il faut prendre le complément à 1
de ce nombre et lui ajouter 1.
Dans le cas d’une addition, un nombre binaire négatif est écrit sous la forme du complément à
2 car cela facilite la réalisation de l’opération.
Exemple : -47 s’écrit % 1 101111 en notation exacte, son complément à 1 est
% 1 010000, son complément à 2 est % 1 010001.
Dr Salou HAMIDOU 15
on ajoute 1. Le résultat obtenu est ajouté au binaire de celui dont on soustrait (diminuande).
Un report à l’addition du dernier bit et toujours rejeté.
Exemple : Calculer 15 – 8 et 3 – 6
Dr Salou HAMIDOU 16