Sei sulla pagina 1di 4

CÓDIGO GRAY

El código binario reflejado o código Gray, nombrado así en honor


Código Gray de dos bits
del investigador Frank Gray, es un sistema de numeración binario en
el que dos valores sucesivos difieren solamente en uno de sus 00 01 11 10
dígitos. Actualmente es usado para facilitar la corrección de errores
en los sistemas de comunicaciones, tales como algunos sistemas de Código Gray de tres bits
televisión por cable y la televisión digital terrestre.
000
Su característica es que entre una combinación de dígitos y la 001
siguiente, sea ésta anterior o posterior, sólo hay una diferencia de un 011
dígito asegurando menos posibilidades de error. Por eso también se 010
le llama Código progresivo. Esta progresión sucede también entre la 110
última y la primera combinación. Por eso se le llama también código 111
cíclico.
101

Hasta la primera mitad de los años 1940 los circuitos lógicos 100
digitales se realizaban con válvulas de vacío y dispositivos
electromecánicos. Los contadores necesitaban potencias muy Código Gray de cuatro
elevadas a la entrada y generaban picos de ruido cuando varios bits bits
cambiaban simultáneamente. Tomando esto en cuenta, Frank Gray
inventó un método para convertir señales analógicas a grupos de 0000
código binario reflejado utilizando un aparato diseñado con válvulas 0001
de vacío, con lo cual garantizó que en cualquier transición variaría 0011
tan sólo un bit. 0010
0110
En la actualidad, el código Gray se emplea como parte del algoritmo
0111
de diseño de los mapas de Karnaugh (es un diagrama utilizado para
la simplificación de funciones algebraicas Booleanas.), los cuales 0101
son, a su vez, utilizados como "herramienta de diseño" en la 0100
implementación de circuitos combinacionales y circuitos 1100
secuenciales. La vigencia del código Gray se debe a que un diseño 1101
digital eficiente requerirá transiciones más simples y rápidas entre 1111
estados lógicos (0 ó 1), por ello es que se persiste en su uso, a pesar 1110
de que los problemas de ruido y potencia se hayan reducido con la
1010
tecnología de estado sólido de los circuitos integrados.
1011
Las computadoras antiguas indicaban posiciones abriendo y 1001
cerrando interruptores. Utilizando tres interruptores como entradas 1000
usando Base 2, estas dos posiciones estarían una después de la otra:

011 y 100
El problema con el código binario en base 2 es que con interruptores mecánicos, es
realmente difícil que todos los interruptores cambien al mismo tiempo. En la transición de
los dos estados mostrados arriba, tres interruptores cambian de sitio. En el lapso en el que
los interruptores están cambiando, se pueden presentar salidas de información aulteradas. Si
las salidas mencionadas alimentan un circuito secuencial, probablemente el sistema
presentará un error en entrada de datos. El código gray resuelve este problema cambiando
solamente un dígito a la vez, así que no existe este problema:
tienes que tener en cuenta que para convertir de binarios a Gray los valores que deben ser
sumados en base 2 toman los siguientes valores 1+1=0, 0+0=0 , 1+0=1 y 0+1=1 esta
operación de forma vertical como se muestra en el siguiente ejemplo

1010
1010
----
1111

Nótese que desde el 7 podría pasar a 0 con un solo cambio de switch (el más significativo
pasa a cero). Esta es la propiedad llamada "cíclica" del código de Gray.
Conversiones.
Decimal Binario Gray Decimal 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

Para convertir un número binario (en Base 2) a código Gray, simplemente se le aplica una
operación XOR con el mismo número desplazado un bit a la derecha, sin tener en cuenta el
acarreo. Ejemplo (Base 2) a gray:

0111
0111
------
0100
110101010001
110101010001
------------
101111111001
CÓDIGO BCD.

Binary-Coded Decimal (BCD) o Decimal codificado en binario es un estándar para


representar números decimales en el sistema binario, en donde cada dígito decimal es
codificado con una secuencia de 4 bits. Con esta codificación especial de los dígitos
decimales en el sistema binario, se pueden realizar operaciones aritméticas como suma,
resta, multiplicación y división de números en representación decimal, sin perder en los
cálculos la precisión ni tener las inexactitudes en que normalmente se incurre con las
conversiones de decimal a binario puro y de binario puro a decimal. La conversión de los
números decimales a BCD y viceversa es muy sencilla, pero los cálculos en BCD llevan
más tiempo y son algo más complicados que con números binarios puros e impuros.

Representación BCD.
Cada dígito decimal tiene una representación binaria codificada con 4 bits:

Decimal: 0 1 2 3 4 5 6 7 8 9
BCD: 0000 0001 0010 0011 0100 0101 0110 0111 1000 1001

Los números decimales, se codifican en BCD con los bits que representan sus dígitos.
Por ejemplo, la codificación en BCD del número decimal 59237 es:

Decimal: 5 9 2 3 7
BCD: 0101 1001 0010 0011 0111

La representación anterior (en BCD) es diferente de la representación del mismo número


decimal en binario puro:

11100111 01100101

Características:

Ponderación: La mayoría de los sistemas de numeración actuales son ponderados, es decir,


cada posición de una secuencia de dígitos tiene asociado un peso. El sistema binario es, de
hecho, un sistema de numeración posicional ponderado. Sin embargo, algunos códigos
binarios, como el código Gray, no son ponderados, es decir, no tienen un peso asociado a
cada posición. Otros, como el mismo código binario natural o el BCD natural sí lo son.

Distancia: Es una característica sólo aplicable a las combinaciones binarias. La distancia


entre dos combinaciones es el número de bits que cambian de una a otra. Por ejemplo, si se
tienen las combinaciones de cuatro bits 0010 y 0111, correspondientes al 2 y al 7 en binario
natural, se dirá que la distancia entre ellas es igual a dos ya que de una a otra cambian dos
bits.
Además, con el concepto de distancia se puede definir la distancia mínima de un código.
Ésta no es más que la distancia menor que haya entre dos de las combinaciones de ese
código.

Continuidad: Es una característica de los códigos binarios que cumplen que todas las
posibles combinaciones del código son adyacentes, es decir, que de cualquier combinación
del código a la siguiente cambia un sólo bit. En este caso se dice que el código es continuo.
Cuando la última combinación del código es, a su vez, adyacente a la primera, se trata de
un código cíclico.

Autocomplementariedad: El código binario es autocomplementario cuando el


complemento a nueve del equivalente decimal de cualquier combinación del código puede
hallarse invirtiendo los valores de cada uno de los bits (operación lógica unaria de
negación) y el resultado sigue siendo una combinación válida en ese código. Esta
característica se observa en algunos códigos BCD, como el código Aiken o el código BCD
exceso 3. Los códigos autocomplementarios facilitan las operaciones aritméticas.

Aplicación

El BCD es muy común en sistemas electrónicos donde se debe mostrar un valor numérico,
especialmente en los sistemas digitales no programados (sin microprocesador o
microcontrolador).

Utilizando el código BCD, se simplifica la manipulación de los datos numéricos que deben
ser mostrados por ejemplo en un visualizador de siete segmentos. Esto lleva a su vez una
simplificación en el diseño físico del circuito (hardware).

Si la cantidad numérica fuera almacenada y manipulada en binario natural, el circuito sería


mucho más complejo que si se utiliza el BCD. Hay un programa que se llama b1411 que
sirve para dividir al sistema binario en dos combinaciones. Una por ejemplo es la de
sistemas digitales.