Le code de Gray ou code binaire réfléchi

Le code de Gray ou code binaire réfléchi est un code binaire créé par l’ingénieur américain FRANK GRAY.
Pour obtenir le code de Gray à partir du binaire pur, on conserve le premier bit du binaire pur, c'est-à-dire le premier bit du binaire pur reste le premier bit du binaire réfléchi. On additionne le premier bit du binaire pur au deuxième bit du binaire pur pour obtenir le deuxième bit du binaire réfléchi. On additionne ensuite le deuxième bit du binaire pur au troisième bit du binaire pur pour obtenir le troisième bit du binaire réfléchi, ainsi de suite. Dans toutes ces additions, on considère toujours 0+0=0, 0+1=1 et 1+1=0.

Cette méthode de conversion si simple et si facile, bien qu’elle soit vraie, vous risquerez de ne pas la voir nulle part. Alors utilisez la pour pouvoir dresser vos tableaux de conversion du code binaire pur (ou du code BCD) en code de Gray mais ne la mentionnez pas sur une feuille de devoir ou d’examen pour éviter de vous faire sanctionner par ignorance du correcteur. . L’avantage de cette méthode par rapport à la méthode la plus utilisée, ce qu’on n’a pas besoin de connaitre l’ensemble des nombres précédents pour faire la conversion.
La méthode la plus connu consiste à faire une symétrie comme une réflexion dans un miroir d’où le nom du code réfléchi. Comme ça pour passer d'une ligne à la suivante, on inverse le bit le plus à droite possible conduisant à un nombre nouveau. Pour cela on choisit un code de départ : zéro est codé 0 et un est codé 1. Puis, à chaque fois qu'on a besoin d'un bit supplémentaire, on symétrise les nombres déjà obtenus et enfin on rajoute un 0 au début des « anciens » nombres, et un 1 au début des nouveaux nombres. Bien sure que le résultat reste la même mais avec cette dernière méthode, on est obligé de dresser un tableau rien que pour convertir un nombre.

Ici représentons le code gray pour le nombre 0 à 15 :
Nombre decimal Code binaire pur Code de Gray
B3 B2 B1 B0 G3 G2 G1 G0
0 0 0 0 0 0 0 0
1 0 0 0 1 0 0 0 1
2 0 0 1 0 0 0 1 1
3 0 0 1 1 0 0 1 0
4 0 1 0 0 0 1 1 0
5 0 1 0 1 0 1 1 1
6 0 1 1 0 0 1 0 1
7 0 1 1 1 0 1 0 0
8 1 0 0 0 1 1 0 0
9 1 0 0 1 1 1 0 1
10 1 0 1 0 1 1 1 1
11 1 0 1 1 1 1 1 0
12 1 1 0 0 1 0 1 0
13 1 1 0 1 1 0 1 1
14 1 1 1 0 1 0 0 1
15 1 1 1 1 1 0 0 0


Une question? Cliquez ici pour la poser.

Retour sur le portail de téléinformatique