Codice Gray: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
(6 versioni intermedie di uno stesso utente non sono mostrate) | |||
Riga 24:
|}
Usando questa codifica, la transizione da "3" a "4" è problematica, dato che è molto improbabile che tutti gli interruttori cambino il proprio stato (aperto/chiuso) esattamente nello stesso istante. Durante il passaggio tra i due stati mostrati nella precedente tabella, tutti e tre gli interruttori dovranno cambiare stato, probabilmente producendo dei valori che oscillano per il breve periodo del cambiamento (rimbalzi).
Anche se idealmente si fosse in assenza di
011, 001, 101, 100
Riga 33:
Questo problema, relativo all'ambiguità della posizione, è causato dal fatto di aver utilizzato una numerazione binaria ordinata in modo naturale, e può essere risolta usando un altro tipo di numerazione, che utilizza una codifica in cui si commuta un solo interruttore alla volta (un solo bit alla volta).
== Algoritmi di codifica e decodifica ==
Riga 47 ⟶ 45:
La prima cifra del codice Gray ([[bit più significativo|Most Significant Bit]]) è la stessa della codifica binaria, le altre sono il risultato dello XOR tra ogni cifra in codifica binaria e la cifra successiva.
A titolo di esempio: applicato a numeri binari di tre cifre, l'algoritmo ritorna la seguente codifica; va notato che anche nel passaggio dal valore "7" al valore "0" nella codifica cambia solamente un bit (codice di tipo ciclico):
{|class="wikitable"
Riga 90 ⟶ 88:
=== Da Gray a binario ===
[[File:ConvertGrayToBin.png|thumb|Schema logico dell'algoritmo di decodifica]]
Il procedimento di conversione da codice di Gray a codifica binaria normale è analogo a quello di codifica, ma l'operatore XOR viene applicato bit
Gray: 101011 XOR
|