CHAPITRE II BIS LE CODAGE DE L’INFORMATION
I – LE CODAGE DE L’INFORMATION
I .1– Le Code de Gray
1- Définition du Code de Gray
Le code de Gray, également appelé code Gray ou code binaire réfléchi, est un type de codage
binaire permettant de ne modifier qu'un seul bit à la fois quand un nombre est augmenté d'une unité.
Cette propriété est importante pour plusieurs applications.
Le nom du code vient de l'ingénieur américain Frank Gray qui publia un brevet sur ce code en
1953, mais le code lui-même est plus ancien.
2- Principe de Code de Gray
Le code de Gray est un codage binaire, c'est-à-dire une fonction qui associe à chaque nombre une
représentation binaire. Cette méthode est différente du codage binaire naturel. Le tableau suivant
montre partiellement le codage sur 4 bits (seules les 8 premières valeurs sont présentées, les huit
suivantes avec le premier bit à 1 n'y sont pas).
Codage décimal Codage binaire naturel Codage Gray ou binaire réfléchi
0 0000 0000
1 0001 0001
2 0010 0011
3 0011 0010
4 0100 0110
5 0101 0111
6 0110 0101
7 0111 0100
La différence principale entre les deux est le fait que le codage de Gray de deux nombres consécutifs
ne diffère que d'une position. Par exemple 5 est codé par 0111, et 6 est codé par 0101 : ici seul le
deuxième bit change.
Université Badji Mokhtar –Annaba- 2024/2025
Département d’Informatique
Structure Machine 1 (Licence L1)
CHAPITRE II BIS LE CODAGE DE L’INFORMATION
2
3. Conversion du code binaire vers le code de Gray
Soit B un nombre écrit en binaire naturel pur sur N bits
B= BN ……B3B2B1 ;
BN est le bit du poids fort et B1 est le bit de poids faible
G est l’équivalent en code de Gray du nombre B écrit lui aussi sur N bits
G(Gray)= GN ………G3G2G1
Le passage du binaire pur au code de Gray se fait selon les deux étapes suivantes :
1- GN = BN
2- GN-1 = BN + B N-1
Figure 1 : La conversion d’un nombre binaire en code de Gray
Remarque
Le bit de poids fort du nombre binaire est toujours égale au bit de poids fort de son
équivalent en code de Gray
Dans les additions des bits le cas de ( 1 +1 = 0) car la retenue sera ignorée ( Voir Figure 1
les cas des bits de poids un et de poids cinq.
3- Conversion du code de Gary vers le code Binaire pur
Soit G un nombre écrit en code de Gray sur N bits
G(Gray)= Gn ………G3G2G1 Gn est le bit du poids fort et G1 est le bit de poids faible
Université Badji Mokhtar –Annaba- 2024/2025
Département d’Informatique
Structure Machine 1 (Licence L1)
CHAPITRE II BIS LE CODAGE DE L’INFORMATION
B est l’équivalent en code Binaire pur ou Naturel du nombre G écrit lui aussi sur N bits
3
B = Bn ………B3B2B1 B0
Le passage du Code de Gray au code binaire pur se fait selon les deux étapes suivantes :
1. BN = GN.
2. GN-1 = GN + B N-1
Figure 2 : La conversion d’un nombre Gray en binaire
Remarque
Le bit de poids fort du nombre binaire en est toujours égale au bit de poids fort de son
équivalent en code de Gray
Pour les additions de bits le cas de ( 1 +1 = 0) car la retenue sera ignorée ( Voir Figure 2 les
cas des bits de poids deux et de poids sept.
I.2 – Le Code DCB : Décimal Codé Binaire
1- Définition du Code DCB
Le code DCB ou BCD, est l’acronyme de Binary Coded Decimal en anglais est un système de
numération utilisé en électronique numérique et en informatique pour coder des nombres en se
rapprochant de la représentation humaine usuelle, en base 10. Dans ce format, les nombres sont
représentés par un ou plusieurs chiffres compris entre 0 et 9, et chacun de ces chiffres est codé
sur quatre bits.
Université Badji Mokhtar –Annaba- 2024/2025
Département d’Informatique
Structure Machine 1 (Licence L1)
CHAPITRE II BIS LE CODAGE DE L’INFORMATION
4
2- Principe du Code DCB
Pour coder un nombre décimal en BCD, on va coder séparément chaque chiffre du nombre de
base dix en Binaire selon le tableau ci-dessous, on rappelle qu’on travaille sur 4 bits ( 4
positions), ainsi les nombres de 10 à 15 ( 1010 à 1111) ne sont pas supportés par le code DCB.
Décimal DCB
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
Codage des Chiffres Décimaux en DCB.
Exemple
On veut coder le nombre (785) 10 en DCB, pour cela, chaque chiffre du nombre sera codé
séparément en binaire sur 4 bits.
Décimal 7 8 5
DCB 0111 1000 0101
Donc (785)10 = ( 0111 1000 0101) DCB
3- L’addition en code DCB
Comme on l’a déjà mentionné, le code DCB permet le codage de 10 nombres uniquement, à
savoir, les chiffres de 0 à 9 , de ce fait, les nombres de 10 à 15, ne sont pas autorisés, c’est-à-
dire que le code DCB ne les connait pas.
Lorsqu’on additionne 2 nombres codés en DCB, on additionne chaque bloc de 4 bits du premier
nombre, avec son équivalent du second nombre.
Maintenant, si le résultat d’un des blocs dépasse 9, c’est-à-dire sa valeur est comprise entre 10
et 15 ( 1010 à 1111), on rajoute à ce bloc le chiffre 6 (0110) .
Université Badji Mokhtar –Annaba- 2024/2025
Département d’Informatique
Structure Machine 1 (Licence L1)
CHAPITRE II BIS LE CODAGE DE L’INFORMATION
5
Exemples
Soit à additionner (352)10 + (34)10 en DCB
Décimal DCB
352 0011 0101 0010
+ +
34 0011 0100
= =
386 0011 1000 0110
Là, le résultat est équivalent, et correcte.
Soit à additionner (153)10 +(151)10 en DCB
Décimal DCB
153 0001 0101 0011
+ +
151 0001 0101 0001
= =
304 0010 1010 0010
Là, le résultat obtenue en DCB n’est pas équivalent à celui du Décimal, de plus, on a obtenu la
valeur 1010 (10 en Décimal qui est > 9 ) qui n’est pas reconnu par le code DCB, là, on doit
rajouter à ce bloc qui dépasse 9, la valeur 6 (0110).
Voyons, ce qui se passe, lorsqu’on rajoute 6 (0110) à ce bloc.
Décimal DCB
153 0001 0101 0011
+ +
151 0001 0101 0001
= =
304 0010 1010 0100
+ 0110
= 0011 0000 0100
Là, le résultat, est correcte !.
Une question subsiste, pourquoi rajouter 6 (0110) spécialement ?.
Eh bien, parce que comme en DCB, on code sur 4 bits, donc 24=16 nombres sont possibles à coder
en binaire, mais seulement 10 nombres sont autorisés ( de 0 à 9), les 6 nombres restants (de 10 à
15) sont interdits, lorsque la somme dépasse 9, on rajoute 6 pour faire une boucle et retourner à la
valeur 0.
Université Badji Mokhtar –Annaba- 2024/2025
Département d’Informatique
Structure Machine 1 (Licence L1)
CHAPITRE II BIS LE CODAGE DE L’INFORMATION
6
Remarques
Le nombre codé en BCD ne correspond pas au nombre décimal converti en binaire
naturel.
Les combinaisons supérieures à 9 ( de 10 à 15) sont interdites. Par exemple la
combinaison 1010 n’appartient pas au code BCD.
Le codage décimal BCD est simple, mais il n’est pas possible de faire des opérations
mathématiques directement dessus.
Ce code est surtout utilisé pour l'affichage de données décimales. (Dans les calculatrices
par exemple)
Le Code DCB plus trois : DCB +3
4- Définition du Code DCB+3
Le code DCB plus 3 ou code excess 3 appelé aussi code Stibiz du nom de son inventeur, est
un code non pondéré issu du code DCB auquel on ajoute systématiquement 3 à chaque chiffre.
Ce code est souvent utilisé sur des unités arithmétiques qui calculent en système numérique
décimal plutôt qu'en système binaire.
Le code plus 3 permet d'effectuer les opérations arithmétiques d'addition et de soustraction avec
un minimum de fonctions logiques.
5- Principe du Code DCB+3
Pour coder un nombre décimal en BCD+3, avant de le coder en DCB, on lui rajoute 3, puis on
le code en DCB, on rappelle qu’on travaille sur 4 bits ( 4 positions), ainsi on a 16 nombres ( de
0 à 15 ) qu’on peut coder en DCB +3, mais les combinaisons de 13 à 15 (1101 à 1111) sont
interdites, on peut juste coder de 0 à 12.
Le tableau ci- dessous illustre le codage des nombres décimaux en DCB+3
Décimal Décimal +3 DCB+3
0 3 0011
1 4 0100
2 5 0101
3 6 0100
4 7 0111
5 8 1000
6 9 1001
7 10 1010
8 11 1011
9 12 1100
Université Badji Mokhtar –Annaba- 2024/2025
Département d’Informatique
Structure Machine 1 (Licence L1)
CHAPITRE II BIS LE CODAGE DE L’INFORMATION
7
Exemple
On va coder le nombre (785) 10 en DCB+3, pour cela, on rajoute à chaque chiffre 3, puis il sera
codé séparément en binaire sur 4 bits,
Décimal 7 8 5
Décimal +3 10 11 8
DCB+3 1010 1011 1000
Donc (785)10 = ( 1010 1011 1000) DCB+3 .
Exercice 1
1. Compter de 0 à 11 en code de Gray
2. Trouver le code de Gray des nombres suivants : 1111101 , 1011110 , 1100100
3. Trouver les nombres ayants les codes de Gray qui suit : 1011001, 1101100 , 1000011
Exercice 2 :
1. Convertir les nombres décimaux suivants en leurs équivalents DCB et DCB +3
74 165 9201
2. Effectuer en DCB les additions suivantes :
38 + 72 51 + 19
SOLUTION EXERCICE 1
Décimal Code de Gray
0 0000
1 0001
2 0011
3 0010
4 0110
5 0111
6 0101
7 0100
8 1100
9 1101
10 1111
11 1110
2.
Binaires 1111101 1011110 1100100
Codes de Gray 1000011 1110001 1010110
Université Badji Mokhtar –Annaba- 2024/2025
Département d’Informatique
Structure Machine 1 (Licence L1)
CHAPITRE II BIS LE CODAGE DE L’INFORMATION
3.
8
Codes de Gray 1011001 1101100 1000011
Binaires 1101110 1001000 1111101
SOLUTION EXERCICE 2
1.
Décimal 74 165 9201
Code DCB 0111 0100 0001 0110 0101 1001 0010 0000 0001
Code DCB+3 1010 0111 0100 1010 1000 1100 0101 0011 0100
2.
Décimal DCB
3 8 0011 1000
+ +
7 2 0111 0010
= =
110 1010 1010
+ 0110 0110
= 0001 0001 0000
Décimal DCB
51 0101 0001
+ +
1 9 0001 1001
= =
7 0 0110 1010
+ 0110
= 0111 0000
Université Badji Mokhtar –Annaba- 2024/2025
Département d’Informatique
Structure Machine 1 (Licence L1)