SlideShare una empresa de Scribd logo
1 de 8
EL CÓDIGO GRAY 
Consiste en una ordenación de <math>2^n</math> números binarios de tal forma 
que cada número sólo tenga un dígito binario distinto a su predecesor. Esta 
técnica de codificación se originó cuando los circuitos lógicos digitales se 
realizaban con válvulas de vacío y dispositivos electromecánicos. Los contadores 
necesitaban potencias muy elevadas a la entrada y generaban picos de ruido 
cuando varios bits cambiaban simultáneamente. El uso de código Gray garantizó 
que en cualquier transición variaría tan sólo un bit. En la actualidad, el código Gray 
se sigue empleando para el diseño de cualquier circuito electrónico combinacional 
mediante el uso de un Mapa de Karnaugh, ya que el principio de diseño de buscar 
transiciones más simples y rápidas entre estados sigue vigente, a pesar de que los 
problemas de ruido y potencia se hayan reducido. 
Hay varios algoritmos para generar una secuencia de código Gray (y varios 
códigos posibles resultantes, en función del orden que se desee seguir), pero el 
más usado consiste en cambiar el bit menos significativo que genera un nuevo 
código. Este es un código gray de cuatro bits generado con dicho algoritmo: 
Dígito decimal Código Gray Dígito decimal Código Gray 
0 0000 8 1100 
1 0001 9 1101 
2 0011 10 1111 
3 0010 11 1110 
4 0110 12 1010 
5 0111 13 1011 
6 0101 14 1001 
7 0100 15 1000 
El primer uso documentado de un código de estas características fue en una 
demostración del telégrafo del ingeniero francés Émile Baudot, en 1878. Pero no 
fueron patentados hasta 1953 por Frank Gray (que dio nombre al sistema de 
codificación), un investigador de los laboratorios Bell. 
Diseño de circuitos combinacionales 
El código Gray es otro tipo de código basado en un sistema binario pero de una 
construcción muy distinta a la de los demás códigos. Su principal característica es 
que 2 números sucesivos, cualesquiera, solo varían en 1 bit. 
Esto se consigue mediante un proceso poco riguroso que consiste en: 
0 0 0 00 Se escribe en una columna los dígitos 0 y 1 
1 1 1 01 Se toma una línea imaginaria en la base de la columna 
-- -- --- Se reproduce la columna bajo la línea como si de un espejo 
1 11 se tratase 
0 10 Se rellenan las dos zonas con 0s y con 1s
Por tanto, para un código Gray de n bits se toma el correspondiente Gray de n-1 
bits, se le aplica simetría y se rellena su parte superior con 0s y la parte inferior de 
1s. 
Esta codificación no tiene nada que ver con un sistema de cuantificación. En 
efecto, los términos 000, 101, etc no denotan un valor matemático real (a 
diferencia de los demás códigos) sino uno de los X valores que puede tomar una 
variable. Por lo tanto, se trata de hallar, partiendo de una variable que pueda 
tomar X valores, se toma un n suficiente como para que 2n>a X y ordenar estos 
estados de la variable conforme a las normas de Gray de cambio entre dos 
estados sucesivos. 
Estos conceptos pueden ser difíciles en un principio de entender pero una vez 
abordado el diseño de circuitos combinacionales todo se ve con mayor claridad. 
BINARIO A GRAY 
Para pasar un número binario al código binario Gray, hay una regla fácil de 
implementar en un lenguaje de programación: 
 Un número en binario siempre empieza en 1 --Los ceros a la izquierda no 
cuentan--; Pues en Gray también. Ej: 1000011110000 en binario se escribe 
1xxxxXXXXxxxx. 
 Ahora nos fijamos en el segundo dígito. Si es igual al dígito anterior se pone un 
0 (no cambia); Si es diferente --como es el caso, pues el dígito anterior era un 
1 y el que observamos un 0-- se pondrá un 1 (cambia). Ej: El número del 
ejemplo anterior será: 11xxxXXXXxxxx. 
 En los casos sucesivos se repite el paso anterior, observando en el número 
binario 'natural' el dígito anterior al que se evalúa. Ej: El número del ejemplo 
anterior, pasado a código Gray será: 1100010001000. 
Otros ejemplos: 
1010 - 1111 
111000 - 100100 
011001 - 010101 
110101010001 - 101111111001 
Otra técnica sencilla para pasar de binario a Gray sin usar un lenguaje de 
programación es esta: 
 aplicar un XOR (disyunción exclusiva, también se puede sumar cada bit 
individualmente descartando cualquier acarreo) del número a sí mismo pero 
con un acarreo a la derecha 
 eliminar el bit del extremo derecho 
Ej: Pasar diez (1010) de binario a gray será 1111 
1010 
1010 
----- 
1111
OTROS EJEMPLOS 
111000 
111000 
------ 
100100 
110101010001 
110101010001 
------------ 
101111111001 
GRAY A BINARI 
Hacer el cambio contrario es simplemente invertir lo que hace el anterior, de forma 
que si se encuentra un cero (siempre que no sea al principio) se debe poner la 
cifra anterior; En cambio si pone un 1 es porque la cifra ha cambiado así que si 
había un 0 ahora se pone un 1 y viceversa. 
MOTIVACIÓN 
Las computadoras antiguas indicaban posiciones abriendo y cerrando 
interruptores. Utilizando tres interruptores como entradas usando Base 2, estas 
dos posiciones estarían una después de la otra: 
... 
011 
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 espurias. 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: 
Decimal Gray Binario 
0 000 000 
1 001 001 
2 011 010 
3 010 011 
4 110 100 
5 111 101 
6 101 110 
7 100 111
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 
101 
---- 
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 
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 
Base 2 a Gray 
Para convertir un número binario (en Base 2) a código Gray, simplemente hemos 
de aplicarle la puerta lógica XOR al mismo número, con un desplazamiento a la 
derecha. 
Además debemos considerar que no debemos tomar en cuenta el acarreo 
Ejemplo: 1010 (Base 2) a gray 
1010 
101 
---- 
1111 
Otros ejemplos 0111(Base 2) a gray : 
0111 
011 
------ 
0100 
Podemos observar que no funciona el metodo
110101010001 
11010101000 
------------ 
101111111001 
Gray a Base 2 
Tenemos un vector conteniendo los dígitos en gray y otro vector destinado a 
contener los dígitos en Base 2 
es el dígito que se encuentra en el extremo izquerdo de la representación en 
código gray 
es el dígito de mayor peso y que se encuentra en el extremo izquerdo en la 
representación en Base 2 
tenemos que: con la excepción de que , la cual se 
puede resumir como: el dígito de más a la izquierda en Base 2 es igual al dígito de 
más a la izquierda en código gray 
El primer bit empezando por la izquierda del digito del código gray se respetará 
para la conversión a base 2, el resultado es obtener el mismo bit para el dígito 
binario que el que tiene en gray, para conseguir el segundo bit del binario 
sumaremos el primer bit del dígito del sistema binario por el segundo del sistema 
gray, sin tener en cuenta los acarreos y respetando la tabla de suma para binarios: 
0+0=0 ; 0+1=1 ; 1+0=1 ; 1+1=10 
Ejemplo: Con el número 1001 Gray 
El primero de base dos es igual al primero en gray que en este caso es ( 1 ) 
El segundo de base dos es igual a la suma del primero de base 2 con el segundo 
de gray en este caso es (1)+(0)= (1) 
El tercero de base dos es igual a la suma del segundo de base2 con el tercero de 
gray en este caso es (1)+(0)= (1) 
El cuarto de base dos es igual a la suma del tercero de base dos con el cuarto de 
gray es este caso es (1)+(1)=10 tomamos el cero del 10 descartando el acarreo 
por lo que tenemos (0) 
Esto da como resultado 1110
EL CÓDIGO BCD 
Código BCD (Binary-Coded Decimal (BCD) o Decimal codificado). 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 incurren 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 se llevan más tiempo y son algo más complicados que con 
números binarios puros. 
FUNDAMENTOS 
En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa 
con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es 
el número de bits necesario para representar el nueve, el número más alto que se 
puede representar en BCD). 
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 
Electrónica 
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. 
Representación 
 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 de bits que representan 
sus dígitos.
Tabla del Código BCD 
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

Más contenido relacionado

La actualidad más candente

Componentes electrónicos-análogos-y-digitales
Componentes electrónicos-análogos-y-digitalesComponentes electrónicos-análogos-y-digitales
Componentes electrónicos-análogos-y-digitales
jhon garcia
 
11 Transformada De Laplace
11 Transformada De Laplace11 Transformada De Laplace
11 Transformada De Laplace
kahtya
 
Funcion De Transferencia
Funcion De TransferenciaFuncion De Transferencia
Funcion De Transferencia
Grupo05N
 
Sistema binario
Sistema binarioSistema binario
Sistema binario
Marsotva
 

La actualidad más candente (20)

Sistemas digitales
Sistemas digitalesSistemas digitales
Sistemas digitales
 
Complemento a 1 y a 2
Complemento a 1 y a 2Complemento a 1 y a 2
Complemento a 1 y a 2
 
Componentes electrónicos-análogos-y-digitales
Componentes electrónicos-análogos-y-digitalesComponentes electrónicos-análogos-y-digitales
Componentes electrónicos-análogos-y-digitales
 
Usart
UsartUsart
Usart
 
11 Transformada De Laplace
11 Transformada De Laplace11 Transformada De Laplace
11 Transformada De Laplace
 
Funcion De Transferencia
Funcion De TransferenciaFuncion De Transferencia
Funcion De Transferencia
 
Presentación de Diodos
Presentación de DiodosPresentación de Diodos
Presentación de Diodos
 
Sumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexoresSumadores,codificadores, decodificadores,multiplexores y demultiplexores
Sumadores,codificadores, decodificadores,multiplexores y demultiplexores
 
Codificador decimal bcd
Codificador decimal bcdCodificador decimal bcd
Codificador decimal bcd
 
Sesion contadores y registros
Sesion  contadores y registrosSesion  contadores y registros
Sesion contadores y registros
 
Convertidores A/D-D/A
Convertidores A/D-D/AConvertidores A/D-D/A
Convertidores A/D-D/A
 
Contadores digitales
Contadores digitalesContadores digitales
Contadores digitales
 
Multiplicador y divisor
Multiplicador y divisorMultiplicador y divisor
Multiplicador y divisor
 
PPT Sumador BCD.pptx
PPT Sumador BCD.pptxPPT Sumador BCD.pptx
PPT Sumador BCD.pptx
 
Sistema binario
Sistema binarioSistema binario
Sistema binario
 
Compuertas logicas
Compuertas logicasCompuertas logicas
Compuertas logicas
 
Circuito detector de numeros primos de 4 bits
Circuito detector de numeros primos de 4 bitsCircuito detector de numeros primos de 4 bits
Circuito detector de numeros primos de 4 bits
 
Tema 2
Tema 2Tema 2
Tema 2
 
Amplificadores Operacionales
Amplificadores OperacionalesAmplificadores Operacionales
Amplificadores Operacionales
 
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
Circuitos secuenciales: Contadores, Registros de Desplazamiento y Circuito de...
 

Destacado

Los ecualizadores digitales
Los ecualizadores digitalesLos ecualizadores digitales
Los ecualizadores digitales
luisruiz55
 
Plc presentacion
Plc presentacionPlc presentacion
Plc presentacion
luizeppelin
 

Destacado (20)

Codigo Ascii
Codigo AsciiCodigo Ascii
Codigo Ascii
 
Códigos BCD, Gray e ASCII
Códigos  BCD, Gray e ASCIICódigos  BCD, Gray e ASCII
Códigos BCD, Gray e ASCII
 
Sistemas Numéricos y Códigos Digitales
Sistemas Numéricos y Códigos DigitalesSistemas Numéricos y Códigos Digitales
Sistemas Numéricos y Códigos Digitales
 
Codigo Ascii
Codigo AsciiCodigo Ascii
Codigo Ascii
 
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
Sistemas de numeración (Binario, Octal, Hexadecimal, Decimal)
 
Sistemas numéricos
Sistemas numéricosSistemas numéricos
Sistemas numéricos
 
Los ecualizadores digitales
Los ecualizadores digitalesLos ecualizadores digitales
Los ecualizadores digitales
 
Codigos binarios
Codigos binariosCodigos binarios
Codigos binarios
 
Sistemes digitals
Sistemes digitalsSistemes digitals
Sistemes digitals
 
Plc presentacion
Plc presentacionPlc presentacion
Plc presentacion
 
Código ascii
Código asciiCódigo ascii
Código ascii
 
Manual de Programación en C
Manual de Programación en CManual de Programación en C
Manual de Programación en C
 
Codigos binarios
Codigos binariosCodigos binarios
Codigos binarios
 
Codificador
CodificadorCodificador
Codificador
 
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
Arquitectura de computadoras II-Codigo de Operaciones y Campo de Direccionami...
 
practica 3 labo 2014_escribe tu nombre en displays
practica 3 labo 2014_escribe tu nombre en displayspractica 3 labo 2014_escribe tu nombre en displays
practica 3 labo 2014_escribe tu nombre en displays
 
Conversión de punto flotante binario a decimal
Conversión de punto flotante binario a decimalConversión de punto flotante binario a decimal
Conversión de punto flotante binario a decimal
 
Sistemas de numeración
Sistemas de numeraciónSistemas de numeración
Sistemas de numeración
 
Capitulo I Sistemas Númericos
Capitulo I  Sistemas NúmericosCapitulo I  Sistemas Númericos
Capitulo I Sistemas Númericos
 
Practicas electronica digital 1.tese.ag
Practicas electronica digital 1.tese.ag Practicas electronica digital 1.tese.ag
Practicas electronica digital 1.tese.ag
 

Similar a El código gray

Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
Jorge Arroyo
 
Sistemas Numericos
Sistemas NumericosSistemas Numericos
Sistemas Numericos
bramas
 
Informatica 2060 -_unidad_iv_-_sistemas_numericos
Informatica 2060 -_unidad_iv_-_sistemas_numericosInformatica 2060 -_unidad_iv_-_sistemas_numericos
Informatica 2060 -_unidad_iv_-_sistemas_numericos
fulanito09
 
Digital
DigitalDigital
Digital
toni
 
Digital E
Digital EDigital E
Digital E
toni
 

Similar a El código gray (20)

Codigos digitales
Codigos digitalesCodigos digitales
Codigos digitales
 
Parte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandezParte 3 digitales cesar hernandez
Parte 3 digitales cesar hernandez
 
Parte 3
Parte 3Parte 3
Parte 3
 
Codigos
Codigos Codigos
Codigos
 
Codigos..
Codigos..Codigos..
Codigos..
 
Direccionamiento IP
Direccionamiento IPDireccionamiento IP
Direccionamiento IP
 
Direccionamiento ip
Direccionamiento ipDireccionamiento ip
Direccionamiento ip
 
Eventos digitales y analógicos
Eventos digitales y analógicosEventos digitales y analógicos
Eventos digitales y analógicos
 
Sistemas Numericos
Sistemas NumericosSistemas Numericos
Sistemas Numericos
 
Cuaderno de algebra
Cuaderno de algebraCuaderno de algebra
Cuaderno de algebra
 
Tema1 introduccion
Tema1 introduccionTema1 introduccion
Tema1 introduccion
 
29 sistemas numericos
29 sistemas numericos29 sistemas numericos
29 sistemas numericos
 
Informatica 2060 -_unidad_iv_-_sistemas_numericos
Informatica 2060 -_unidad_iv_-_sistemas_numericosInformatica 2060 -_unidad_iv_-_sistemas_numericos
Informatica 2060 -_unidad_iv_-_sistemas_numericos
 
Código binario gray
Código binario grayCódigo binario gray
Código binario gray
 
U12 circuitoscombinacionales ejemplos
U12 circuitoscombinacionales ejemplosU12 circuitoscombinacionales ejemplos
U12 circuitoscombinacionales ejemplos
 
Sistema Binario
Sistema BinarioSistema Binario
Sistema Binario
 
Digital
DigitalDigital
Digital
 
Digital E
Digital EDigital E
Digital E
 
3. electronica digital3
3. electronica digital33. electronica digital3
3. electronica digital3
 
Electrónica digital
Electrónica digitalElectrónica digital
Electrónica digital
 

Último

Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
JonathanCovena1
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
zulyvero07
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
lupitavic
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
El Fortí
 

Último (20)

ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLAACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
ACERTIJO DE POSICIÓN DE CORREDORES EN LA OLIMPIADA. Por JAVIER SOLIS NOYOLA
 
Estrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcciónEstrategia de prompts, primeras ideas para su construcción
Estrategia de prompts, primeras ideas para su construcción
 
Criterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficiosCriterios ESG: fundamentos, aplicaciones y beneficios
Criterios ESG: fundamentos, aplicaciones y beneficios
 
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdfTema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
Tema 8.- PROTECCION DE LOS SISTEMAS DE INFORMACIÓN.pdf
 
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptxACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
ACUERDO MINISTERIAL 078-ORGANISMOS ESCOLARES..pptx
 
Valoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCVValoración Crítica de EEEM Feco2023 FFUCV
Valoración Crítica de EEEM Feco2023 FFUCV
 
Ley 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circularLey 21.545 - Circular Nº 586.pdf circular
Ley 21.545 - Circular Nº 586.pdf circular
 
INSTRUCCION PREPARATORIA DE TIRO .pptx
INSTRUCCION PREPARATORIA DE TIRO   .pptxINSTRUCCION PREPARATORIA DE TIRO   .pptx
INSTRUCCION PREPARATORIA DE TIRO .pptx
 
Sesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronósticoSesión de clase: Fe contra todo pronóstico
Sesión de clase: Fe contra todo pronóstico
 
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdfEjercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
Ejercicios de PROBLEMAS PAEV 6 GRADO 2024.pdf
 
CALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDADCALENDARIZACION DE MAYO / RESPONSABILIDAD
CALENDARIZACION DE MAYO / RESPONSABILIDAD
 
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
 
origen y desarrollo del ensayo literario
origen y desarrollo del ensayo literarioorigen y desarrollo del ensayo literario
origen y desarrollo del ensayo literario
 
Imperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperioImperialismo informal en Europa y el imperio
Imperialismo informal en Europa y el imperio
 
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
LABERINTOS DE DISCIPLINAS DEL PENTATLÓN OLÍMPICO MODERNO. Por JAVIER SOLIS NO...
 
Power Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptxPower Point: Fe contra todo pronóstico.pptx
Power Point: Fe contra todo pronóstico.pptx
 
PLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docxPLAN DE REFUERZO ESCOLAR primaria (1).docx
PLAN DE REFUERZO ESCOLAR primaria (1).docx
 
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptxSEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
SEXTO SEGUNDO PERIODO EMPRENDIMIENTO.pptx
 
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptxORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
ORGANIZACIÓN SOCIAL INCA EN EL TAHUANTINSUYO.pptx
 
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURAFORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
FORTI-MAYO 2024.pdf.CIENCIA,EDUCACION,CULTURA
 

El código gray

  • 1. EL CÓDIGO GRAY Consiste en una ordenación de <math>2^n</math> números binarios de tal forma que cada número sólo tenga un dígito binario distinto a su predecesor. Esta técnica de codificación se originó cuando los circuitos lógicos digitales se realizaban con válvulas de vacío y dispositivos electromecánicos. Los contadores necesitaban potencias muy elevadas a la entrada y generaban picos de ruido cuando varios bits cambiaban simultáneamente. El uso de código Gray garantizó que en cualquier transición variaría tan sólo un bit. En la actualidad, el código Gray se sigue empleando para el diseño de cualquier circuito electrónico combinacional mediante el uso de un Mapa de Karnaugh, ya que el principio de diseño de buscar transiciones más simples y rápidas entre estados sigue vigente, a pesar de que los problemas de ruido y potencia se hayan reducido. Hay varios algoritmos para generar una secuencia de código Gray (y varios códigos posibles resultantes, en función del orden que se desee seguir), pero el más usado consiste en cambiar el bit menos significativo que genera un nuevo código. Este es un código gray de cuatro bits generado con dicho algoritmo: Dígito decimal Código Gray Dígito decimal Código Gray 0 0000 8 1100 1 0001 9 1101 2 0011 10 1111 3 0010 11 1110 4 0110 12 1010 5 0111 13 1011 6 0101 14 1001 7 0100 15 1000 El primer uso documentado de un código de estas características fue en una demostración del telégrafo del ingeniero francés Émile Baudot, en 1878. Pero no fueron patentados hasta 1953 por Frank Gray (que dio nombre al sistema de codificación), un investigador de los laboratorios Bell. Diseño de circuitos combinacionales El código Gray es otro tipo de código basado en un sistema binario pero de una construcción muy distinta a la de los demás códigos. Su principal característica es que 2 números sucesivos, cualesquiera, solo varían en 1 bit. Esto se consigue mediante un proceso poco riguroso que consiste en: 0 0 0 00 Se escribe en una columna los dígitos 0 y 1 1 1 1 01 Se toma una línea imaginaria en la base de la columna -- -- --- Se reproduce la columna bajo la línea como si de un espejo 1 11 se tratase 0 10 Se rellenan las dos zonas con 0s y con 1s
  • 2. Por tanto, para un código Gray de n bits se toma el correspondiente Gray de n-1 bits, se le aplica simetría y se rellena su parte superior con 0s y la parte inferior de 1s. Esta codificación no tiene nada que ver con un sistema de cuantificación. En efecto, los términos 000, 101, etc no denotan un valor matemático real (a diferencia de los demás códigos) sino uno de los X valores que puede tomar una variable. Por lo tanto, se trata de hallar, partiendo de una variable que pueda tomar X valores, se toma un n suficiente como para que 2n>a X y ordenar estos estados de la variable conforme a las normas de Gray de cambio entre dos estados sucesivos. Estos conceptos pueden ser difíciles en un principio de entender pero una vez abordado el diseño de circuitos combinacionales todo se ve con mayor claridad. BINARIO A GRAY Para pasar un número binario al código binario Gray, hay una regla fácil de implementar en un lenguaje de programación:  Un número en binario siempre empieza en 1 --Los ceros a la izquierda no cuentan--; Pues en Gray también. Ej: 1000011110000 en binario se escribe 1xxxxXXXXxxxx.  Ahora nos fijamos en el segundo dígito. Si es igual al dígito anterior se pone un 0 (no cambia); Si es diferente --como es el caso, pues el dígito anterior era un 1 y el que observamos un 0-- se pondrá un 1 (cambia). Ej: El número del ejemplo anterior será: 11xxxXXXXxxxx.  En los casos sucesivos se repite el paso anterior, observando en el número binario 'natural' el dígito anterior al que se evalúa. Ej: El número del ejemplo anterior, pasado a código Gray será: 1100010001000. Otros ejemplos: 1010 - 1111 111000 - 100100 011001 - 010101 110101010001 - 101111111001 Otra técnica sencilla para pasar de binario a Gray sin usar un lenguaje de programación es esta:  aplicar un XOR (disyunción exclusiva, también se puede sumar cada bit individualmente descartando cualquier acarreo) del número a sí mismo pero con un acarreo a la derecha  eliminar el bit del extremo derecho Ej: Pasar diez (1010) de binario a gray será 1111 1010 1010 ----- 1111
  • 3. OTROS EJEMPLOS 111000 111000 ------ 100100 110101010001 110101010001 ------------ 101111111001 GRAY A BINARI Hacer el cambio contrario es simplemente invertir lo que hace el anterior, de forma que si se encuentra un cero (siempre que no sea al principio) se debe poner la cifra anterior; En cambio si pone un 1 es porque la cifra ha cambiado así que si había un 0 ahora se pone un 1 y viceversa. MOTIVACIÓN Las computadoras antiguas indicaban posiciones abriendo y cerrando interruptores. Utilizando tres interruptores como entradas usando Base 2, estas dos posiciones estarían una después de la otra: ... 011 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 espurias. 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: Decimal Gray Binario 0 000 000 1 001 001 2 011 010 3 010 011 4 110 100 5 111 101 6 101 110 7 100 111
  • 4. 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 101 ---- 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 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 Base 2 a Gray Para convertir un número binario (en Base 2) a código Gray, simplemente hemos de aplicarle la puerta lógica XOR al mismo número, con un desplazamiento a la derecha. Además debemos considerar que no debemos tomar en cuenta el acarreo Ejemplo: 1010 (Base 2) a gray 1010 101 ---- 1111 Otros ejemplos 0111(Base 2) a gray : 0111 011 ------ 0100 Podemos observar que no funciona el metodo
  • 5. 110101010001 11010101000 ------------ 101111111001 Gray a Base 2 Tenemos un vector conteniendo los dígitos en gray y otro vector destinado a contener los dígitos en Base 2 es el dígito que se encuentra en el extremo izquerdo de la representación en código gray es el dígito de mayor peso y que se encuentra en el extremo izquerdo en la representación en Base 2 tenemos que: con la excepción de que , la cual se puede resumir como: el dígito de más a la izquierda en Base 2 es igual al dígito de más a la izquierda en código gray El primer bit empezando por la izquierda del digito del código gray se respetará para la conversión a base 2, el resultado es obtener el mismo bit para el dígito binario que el que tiene en gray, para conseguir el segundo bit del binario sumaremos el primer bit del dígito del sistema binario por el segundo del sistema gray, sin tener en cuenta los acarreos y respetando la tabla de suma para binarios: 0+0=0 ; 0+1=1 ; 1+0=1 ; 1+1=10 Ejemplo: Con el número 1001 Gray El primero de base dos es igual al primero en gray que en este caso es ( 1 ) El segundo de base dos es igual a la suma del primero de base 2 con el segundo de gray en este caso es (1)+(0)= (1) El tercero de base dos es igual a la suma del segundo de base2 con el tercero de gray en este caso es (1)+(0)= (1) El cuarto de base dos es igual a la suma del tercero de base dos con el cuarto de gray es este caso es (1)+(1)=10 tomamos el cero del 10 descartando el acarreo por lo que tenemos (0) Esto da como resultado 1110
  • 6. EL CÓDIGO BCD Código BCD (Binary-Coded Decimal (BCD) o Decimal codificado). 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 incurren 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 se llevan más tiempo y son algo más complicados que con números binarios puros. FUNDAMENTOS En BCD cada cifra que representa un dígito decimal (0, 1,...8 y 9) se representa con su equivalente binario en cuatro bits (nibble o cuarteto) (esto es así porque es el número de bits necesario para representar el nueve, el número más alto que se puede representar en BCD). 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
  • 7. 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 Electrónica 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. Representación  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 de bits que representan sus dígitos.
  • 8. Tabla del Código BCD 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