Le Code gris est une séquence de systèmes de nombres binaires, également connue sous le nom de code binaire réfléchi . La raison pour laquelle ce code est appelé code binaire réfléchi est la comparaison des premières valeurs N/2 avec celles des dernières valeurs N/2 dans l'ordre inverse. Dans ce code, deux valeurs consécutives diffèrent d'un bit de chiffres binaires. Les codes gris sont utilisés dans la séquence générale des nombres binaires générés par le matériel. Ces nombres provoquent des ambiguïtés ou des erreurs lors du passage d'un nombre à son successif. Ce code résout simplement ce problème en ne modifiant qu'un seul bit lorsque la transition entre les nombres est effectuée.
Le code gris est un code très léger car il ne dépend pas de la valeur du chiffre spécifié par la position. Ce code est également appelé code variable cyclique car la transition d'une valeur à sa valeur successive entraîne un changement d'un seul bit.
Comment générer du code Gray ?
Le préfixe et la méthode de réflexion sont utilisés de manière récursive pour générer le code Gray d'un nombre. Pour générer du code gris :
- On trouve le nombre de bits nécessaires pour représenter un nombre.
- Ensuite, nous trouvons le code pour 0, c’est-à-dire 0000, qui est identique au binaire.
- Maintenant, nous prenons le code précédent, c'est-à-dire 0000, et en modifions le bit le plus significatif.
- Nous effectuons ce processus de manière exclusive jusqu'à ce que tous les codes ne soient pas identifiés de manière unique.
- Si en changeant le bit de poids fort, on retrouve le même code obtenu précédemment, alors le deuxième bit de poids fort sera modifié, et ainsi de suite.
Processus de génération du code Gray
Tableau des codes gris
Nombre décimal | Nombre binaire | Code gris |
---|---|---|
0 | 0000 | 0000 |
1 | 0001 | 0001 |
2 | 0010 | 0011 |
3 | 0011 | 0010 |
4 | 0100 | 0110 |
5 | 0101 | 0111 |
6 | 0110 | 0101 |
7 | 0111 | 0100 |
8 | 1000 | 1100 |
9 | 1001 | 1101 |
dix | 1010 | 1111 |
onze | 1011 | 1110 |
12 | 1100 | 1010 |
13 | 1101 | 1011 |
14 | 1110 | 1001 |
quinze | 1111 | 1000 |