// Codice Gray – sistema di numerazione binaria in cui solo un bit cambia tra valori consecutivi
Tra due valori consecutivi cambia un solo bit.
Riduce gli errori nella conversione da analogico a digitale.
Il primo e l’ultimo valore differiscono solo per un bit.
Il codice Gray (codice binario riflesso) è un sistema di numerazione binaria in cui due valori successivi differiscono solo per un bit. Si ottiene applicando l’operazione XOR tra ogni bit e il bit precedente. Questa proprietà lo rende ideale per encoder di posizione e per ridurre gli errori nei sistemi digitali.
Decimale | Binario | Codice 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 Nota: tra due codici Gray consecutivi cambia solo 1 bit
Il codice Gray, noto anche come codice binario riflesso, è un sistema di numerazione binaria in cui due valori consecutivi differiscono solo per un bit. È ampiamente usato nei sistemi digitali per evitare letture ambigue durante le transizioni.
Per convertire da binario a Gray: 1) mantieni invariato il bit più significativo (MSB), 2) applica XOR tra ogni bit e il bit precedente. Formula: G[i] = B[i] XOR B[i-1]. Ad esempio, il binario 1011 diventa Gray 1110.
Nel binario tradizionale più bit possono cambiare contemporaneamente, generando valori intermedi non validi. Il codice Gray assicura che cambi sempre un solo bit, riducendo letture errate negli encoder rotativi.
Il codice Gray viene utilizzato in encoder rotativi, nella semplificazione tramite mappe di Karnaugh, nella correzione degli errori nelle comunicazioni digitali, negli algoritmi genetici e nei convertitori analogico–digitale.