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.
Nombre decimal | Code binaire pur | Code de Gray | ||||||
B3 | B2 | B1 | B0 | G3 | G2 | G1 | G0 | |
0 | 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 |