L'utilisation du binaire pur étant peu pratique il a été développé d'autres représentations des nombres binaires comme le BCD plus 3, le BCD 8421, l'octal, l'hexadécimal ...
Le code Gray est un code qui présente la particularité de ne modifier qu'un seul bit à chaque incrémentation.
Le code Gray n d'un nombre binaire N, est donné par
la relation n = (N ⊕2.N) / 2.
Exemple
:
N = 0111.
2.N
= 1110 (Pour multiplier un nombre binaire par 2, on fait un décalage à gauche).
N ⊕2.N = 1001 (Ou exclusif entre 0111 et 1110)
n =
0100 (Pour diviser un nombre binaire par 2, on fait un décalage à droite).
Décimal | Binaire | Gray | Un autre intérêt du code Gray est que les circuits de conversion binaire ⇒ code Gray ou code Gray ⇒ binaire pur sont simples à réaliser. Conversion du binaire en code Gray : Conversion du code Gray en binaire pur : |
||
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 | |||
10 | 1010 | 1111 | |||
11 | 1011 | 1110 | |||
12 | 1100 | 1010 | |||
13 | 1101 | 1011 | |||
14 | 1110 | 1001 | |||
15 | 1111 | 1000 |
Roue codeuse
en code Gray
La roue est constituée par un disque transparent dont des secteurs sont rendus opaques.
On présente ici un encodeur 4 bits pour une girouette capable de repérer 16 secteurs angulaires. L'état éclairé ou non des 4 cellules photoélectriquesen fonction de la position du disque est converti en niveaux logiques "0" ou "1".
Le circuit de décodage transforme le code Gray en binaire pur.
Pour l'affichage final "N", "NNE", "NE", "ENE" ... il faut utiliser un autre circuit de décodage.