El código Gray o código binario reflejado, está basado en el sistema binario pero con una estructura distinta. Para este código dos números sucesivos sólo varían en 1 bit y no hay pesos específicos asignados a las posiciones de los bits.
En 1.874 Émile Baudot utiliza esta técnica aplicada a la telegrafía, utilizó un dispositivo de 5 teclas que se corresponden a 5 bits, cada letra es representada por una combinación de las cinco señales eléctricas, originando 32 permutaciones (25=32) caracteres posibles.
Secuencia | Binario | Gray | Secuencia | Binario | Gray | |
0 | 0000 | 0000 | 8 | 1000 | 1100 | |
1 | 0001 | 0001 | 9 | 1001 | 1101 | |
2 | 0010 | 0011 | 10 | 1010 | 1111 | |
3 | 0011 | 0010 | 11 | 1011 | 1110 | |
4 | 0100 | 0110 | 12 | 1100 | 1010 | |
5 | 0101 | 0111 | 13 | 1101 | 1011 | |
6 | 0110 | 0101 | 14 | 1110 | 1001 | |
7 | 0111 | 0100 | 15 | 1111 | 1000 |
Su uso radica en sistemas que utilizan información analógica que es convertida a digital o viceversa, como son los sistemas de posición, angular o lineal en robótica y en diseño de circuitos combinacionales.
Después de algunas modificaciones y adaptaciones a lo largo del tiempo, en 1.947 Frank Gray lo patenta y atribuyen su nombre al código. Mal hecho.
Un ejemplo de conversión de binario a Gray, tomamos el binario 11011 = 27 decimal.
Paso 1. El dígito del código binario más a la izquierda es el mismo que el dígito del código Gray más a la izquierda.
1 | 1 | 0 | 1 | 1 | Gray |
1 | Binario |
Paso 2. Sumar el último bit del código binario que se acaba de generar al bit del código Gray en la siguiente posición. Descartar los acarreos.
1 | 1 | 0 | 1 | 1 | Gray |
1 | 0 | Binario |
Paso 3. Repetir acción del paso (2).
1 | 1 | 0 | 1 | 1 | Gray |
1 | 0 | 0 | Binario |
Paso 4. Repetir acción del paso (2).
1 | 1 | 0 | 1 | 1 | Gray |
1 | 0 | 0 | 1 | Binario |
Paso 5. Repetir acción del paso (2).
1 | 1 | 0 | 1 | 1 | Gray |
1 | 0 | 0 | 1 | 0 | Binario |
El resultado es 10010