Si tratta di un codice contraddistinto dal fatto che, ogni numero differisce dal suo successivo e dal suo precedente per un unico bit. Esso si ottiene aggiungendo alla singola cifra (espressa in Binario Puro) la sua successiva partendo da destra verso sinistra, senza considerare il riporto (codice di tipo riflesso).
Il codice Gray non è un codice pesato, quindi le cifre binarie non assumono valore differente a seconda della posizione occupata.
TABELLA DI CONVERSIONE:
Numero Decimale
|
Numero
Binario Puro |
Numero in Gray |
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 |
Es. 0010 (binario puro)= 0011 (codice Gray)
0+1=1
1+0=1
0+0=0
0+0=0
Questo codice non è un codice BCD, infatti, non codifica le singole cifre decimali ma è invece un codice completo in quanto esprime direttamente tutti i numeri.