Documentos de Académico
Documentos de Profesional
Documentos de Cultura
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 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.
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).
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.
Ejemplo
La codificación en BCD del número decimal 59237 es:
Decimal: 5 9 2 3 7
BCD: 0101 1001 0010 0011 0111
11100111 01100101
Conversión directa típica entre un número en decimal y uno binario. 8510 =
10101012. La representación el mismo número decimal en código BCD se
muestra a la derecha.
En estas aplicaciones aquellos códigos que hacen que se representen cada uno de estos
dígitos decimales, se denominan códigos BCD, significando decimal codificado en
binario (Binary Coded Decimal).
Entre estos códigos, el de más interés práctico, encontramos e l BCD natural, que basa
en representar cada dígito decimal a su correspondiente binario natural. Cada dígito
corresponde a un grupo de 4 bits.
Se requiere que los datos de entrada decimales, sean convertidos internamente a BCD.
Para obtener los datos se requiere una conversión inversa. (Pasar de BCD a decimal)
La representación del 1 al 9 corresponde con el binario natural, pero a partir del número
decimal 10, se precisan dos grupos de 4 bits por dígito.
Ejemplo: 2001
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 0001 0000
11 0001 0001
12 0001 0010
13 0001 0011
14 0001 0100
15 0001 0101
El código BCD Aiken es un código similar al código BCD natural pero con los “pesos”
o “valores” distribuidos de una manera diferente. En el código BCD natural, los pesos
son: 8 – 4 – 2 – 1, en el código Aiken la distribución es: 2 – 4 – 2 – 1.
Representación
Los códigos parciales son una forma de representar valores con un número balanceado
de positivos y negativos utilizando un número pre-especificado”N” como valor de
parcialidad. Los códigos parciales (y los códigos Gray) son códigos no ponderados. En
XS-3, los números son representados como dígitos decimales, y cada dígito es
representado por cuatro bits como el valor del dígito más 3 (la cantidad "de exceso"):
Para codificar un número como el 127, uno simplemente codificada cada uno de los dígitos
decimales de arriba, dando
Deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número
BCD 8421 más 3.
La tabla siguiente contiene las representaciones en código BCD y de exceso 3 para los
dígitos decimales. Nótese que ambos códigos solo emplean 10 de los 16 posibles grupos
de códigos de 4 bits. Sin embargo, el código de exceso 3 no usa los mismos grupos de
código. Para el código de exceso 3, los grupos de código no válidos son: 0000, 0001,
0010, 1101, 1110 y 1111.
Esta propiedad existe cuando entre un elemento del código y su consecutivo, sólo
cambia 1 bit. Se basa en la forma en que está construido el código. Ayudan a eliminar el
efecto transicional o de la transición
El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas
o viciadas en la representación) de los switches electromecánicos, y actualmente es
usado para facilitar la corrección de errores en los sistemas de comunicaciones, tales
como algunos sistemas de televisión por cable y la televisión digital terrestre.
El código fue llamado posteriormente "Gray" por otros investigadores. Dos patentes en
1953 dieron como nombre alternativo "código de Gray" para el "código binario
reflejado"; uno de ellas también se refiere al código como "mínimum error Code"
(código de error mínimo) y como "cyclic permutation Code" (código de permutación
cíclica).
1. El bit más significativo en el código Gray es el mismo que el que corresponde al más
significativo del número binario.
2. Comenzando de izquierda a derecha, se debe sumar cada par adyacente de los bits en
código binario para obtener el siguiente bit en código Gray. No tenemos en cuenta los
acarreos.
2. A cada bit del código binario generado se le suma el bit en código Gray de la
siguiente posición adyacente. No tenemos en cuenta los acarreos.
Hasta la primera mitad de los años 1940 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. Tomando esto en cuenta, Frank Gray inventó un método para
convertir señales analógicas a grupos de código binario reflejado utilizando un aparato
diseñado con válvulas de vacío, con lo cual garantizó que en cualquier transición
variaría tan sólo un bit.
En la actualidad, el código Gray se emplea como parte del algoritmo de diseño de los
mapas de Karnaugh, los cuales son, a su vez, utilizados como "herramienta de diseño"
en la implementación de circuitos combinacionales y circuitos secuenciales. La vigencia
del código Gray se debe a que un diseño digital eficiente requerirá transiciones más
simples y rápidas entre estados lógicos (0 ó 1), por ello es que se persisten en su uso, a
pesar de que los problemas de ruido y potencia se hayan reducido con la tecnología de
estado sólido de los circuitos integrados.
Debido a las propiedades de distancia de Hamming que posee el código Gray, es usado
en ocasiones en algoritmos genéticos.
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:
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:
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
Base 2 a Gray
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.
Códigos Correctores
Permiten detectar errores en más de un bit
El código debe ser capaz de indicar los bits erróneos
Ejemplos:
Códigos de paridad múltiple
Código Hamming
Códigos polinomiales (CRC)
Código Hamming
Distancia Hamming entre dos vectores: es el número de bits en el que toman valores
diferentes.
Ejemplos: Números naturales 0…..15 codificados en binario con 4 bit con bit de
paridad par.
Distancia del código: 2
Es posible detectar errores en un bit. No es posible corregir ningún error.
Código Hamming
El código de Hamming es
un código detector y
corrector de errores que
lleva el nombre de su
inventor, Richard
Hamming. En los datos
codificados en Hamming
se pueden detectar errores
en un bit y corregirlos, sin
embargo no se distingue entre errores de dos bits y de un bit (para lo que se usa
Hamming extendido). Esto representa una mejora respecto a los códigos con bit de
paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo.
Hamming Extendido
También se utiliza el “Hamming Extendido” para asegurar una mejor detección.
Simplemente consiste en añadir una fila adicional completa, y un nuevo bit de paridad
en la primera posición.
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 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 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.
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).
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.
Ejemplo
La codificación en BCD del número decimal 59237 es:
Decimal: 5 9 2 3 7
BCD: 0101 1001 0010 0011 0111
11100111 01100101
Conversión directa típica entre un número en decimal y uno binario. 8510 =
10101012. La representación el mismo número decimal en código BCD se
muestra a la derecha.
En estas aplicaciones aquellos códigos que hacen que se representen cada uno de estos
dígitos decimales, se denominan códigos BCD, significando decimal codificado en
binario (Binary Coded Decimal).
Entre estos códigos, el de más interés práctico, encontramos e l BCD natural, que basa
en representar cada dígito decimal a su correspondiente binario natural. Cada dígito
corresponde a un grupo de 4 bits.
Se requiere que los datos de entrada decimales, sean convertidos internamente a BCD.
Para obtener los datos se requiere una conversión inversa. (Pasar de BCD a decimal)
La representación del 1 al 9 corresponde con el binario natural, pero a partir del número
decimal 10, se precisan dos grupos de 4 bits por dígito.
Ejemplo: 2001
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 0001 0000
11 0001 0001
12 0001 0010
13 0001 0011
14 0001 0100
15 0001 0101
El código BCD Aiken es un código similar al código BCD natural pero con los “pesos”
o “valores” distribuidos de una manera diferente. En el código BCD natural, los pesos
son: 8 – 4 – 2 – 1, en el código Aiken la distribución es: 2 – 4 – 2 – 1.
Representación
Los códigos parciales son una forma de representar valores con un número balanceado
de positivos y negativos utilizando un número pre-especificado”N” como valor de
parcialidad. Los códigos parciales (y los códigos Gray) son códigos no ponderados. En
XS-3, los números son representados como dígitos decimales, y cada dígito es
representado por cuatro bits como el valor del dígito más 3 (la cantidad "de exceso"):
Para codificar un número como el 127, uno simplemente codificada cada uno de los dígitos
decimales de arriba, dando
Deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número
BCD 8421 más 3.
La tabla siguiente contiene las representaciones en código BCD y de exceso 3 para los
dígitos decimales. Nótese que ambos códigos solo emplean 10 de los 16 posibles grupos
de códigos de 4 bits. Sin embargo, el código de exceso 3 no usa los mismos grupos de
código. Para el código de exceso 3, los grupos de código no válidos son: 0000, 0001,
0010, 1101, 1110 y 1111.
Esta propiedad existe cuando entre un elemento del código y su consecutivo, sólo
cambia 1 bit. Se basa en la forma en que está construido el código. Ayudan a eliminar el
efecto transicional o de la transición
El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas
o viciadas en la representación) de los switches electromecánicos, y actualmente es
usado para facilitar la corrección de errores en los sistemas de comunicaciones, tales
como algunos sistemas de televisión por cable y la televisión digital terrestre.
El código fue llamado posteriormente "Gray" por otros investigadores. Dos patentes en
1953 dieron como nombre alternativo "código de Gray" para el "código binario
reflejado"; uno de ellas también se refiere al código como "mínimum error Code"
(código de error mínimo) y como "cyclic permutation Code" (código de permutación
cíclica).
1. El bit más significativo en el código Gray es el mismo que el que corresponde al más
significativo del número binario.
2. Comenzando de izquierda a derecha, se debe sumar cada par adyacente de los bits en
código binario para obtener el siguiente bit en código Gray. No tenemos en cuenta los
acarreos.
2. A cada bit del código binario generado se le suma el bit en código Gray de la
siguiente posición adyacente. No tenemos en cuenta los acarreos.
Hasta la primera mitad de los años 1940 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. Tomando esto en cuenta, Frank Gray inventó un método para
convertir señales analógicas a grupos de código binario reflejado utilizando un aparato
diseñado con válvulas de vacío, con lo cual garantizó que en cualquier transición
variaría tan sólo un bit.
En la actualidad, el código Gray se emplea como parte del algoritmo de diseño de los
mapas de Karnaugh, los cuales son, a su vez, utilizados como "herramienta de diseño"
en la implementación de circuitos combinacionales y circuitos secuenciales. La vigencia
del código Gray se debe a que un diseño digital eficiente requerirá transiciones más
simples y rápidas entre estados lógicos (0 ó 1), por ello es que se persisten en su uso, a
pesar de que los problemas de ruido y potencia se hayan reducido con la tecnología de
estado sólido de los circuitos integrados.
Debido a las propiedades de distancia de Hamming que posee el código Gray, es usado
en ocasiones en algoritmos genéticos.
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:
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:
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
Base 2 a Gray
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.
Códigos Correctores
Permiten detectar errores en más de un bit
El código debe ser capaz de indicar los bits erróneos
Ejemplos:
Códigos de paridad múltiple
Código Hamming
Códigos polinomiales (CRC)
Código Hamming
Distancia Hamming entre dos vectores: es el número de bits en el que toman valores
diferentes.
Ejemplos: Números naturales 0…..15 codificados en binario con 4 bit con bit de
paridad par.
Distancia del código: 2
Es posible detectar errores en un bit. No es posible corregir ningún error.
Código Hamming
El código de Hamming es
un código detector y
corrector de errores que
lleva el nombre de su
inventor, Richard
Hamming. En los datos
codificados en Hamming
se pueden detectar errores
en un bit y corregirlos, sin
embargo no se distingue entre errores de dos bits y de un bit (para lo que se usa
Hamming extendido). Esto representa una mejora respecto a los códigos con bit de
paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo.
Hamming Extendido
También se utiliza el “Hamming Extendido” para asegurar una mejor detección.
Simplemente consiste en añadir una fila adicional completa, y un nuevo bit de paridad
en la primera posición.
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 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 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.
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).
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.
Ejemplo
La codificación en BCD del número decimal 59237 es:
Decimal: 5 9 2 3 7
BCD: 0101 1001 0010 0011 0111
11100111 01100101
Conversión directa típica entre un número en decimal y uno binario. 8510 =
10101012. La representación el mismo número decimal en código BCD se
muestra a la derecha.
En estas aplicaciones aquellos códigos que hacen que se representen cada uno de estos
dígitos decimales, se denominan códigos BCD, significando decimal codificado en
binario (Binary Coded Decimal).
Entre estos códigos, el de más interés práctico, encontramos e l BCD natural, que basa
en representar cada dígito decimal a su correspondiente binario natural. Cada dígito
corresponde a un grupo de 4 bits.
Se requiere que los datos de entrada decimales, sean convertidos internamente a BCD.
Para obtener los datos se requiere una conversión inversa. (Pasar de BCD a decimal)
La representación del 1 al 9 corresponde con el binario natural, pero a partir del número
decimal 10, se precisan dos grupos de 4 bits por dígito.
Ejemplo: 2001
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 0001 0000
11 0001 0001
12 0001 0010
13 0001 0011
14 0001 0100
15 0001 0101
El código BCD Aiken es un código similar al código BCD natural pero con los “pesos”
o “valores” distribuidos de una manera diferente. En el código BCD natural, los pesos
son: 8 – 4 – 2 – 1, en el código Aiken la distribución es: 2 – 4 – 2 – 1.
Representación
Los códigos parciales son una forma de representar valores con un número balanceado
de positivos y negativos utilizando un número pre-especificado”N” como valor de
parcialidad. Los códigos parciales (y los códigos Gray) son códigos no ponderados. En
XS-3, los números son representados como dígitos decimales, y cada dígito es
representado por cuatro bits como el valor del dígito más 3 (la cantidad "de exceso"):
Para codificar un número como el 127, uno simplemente codificada cada uno de los dígitos
decimales de arriba, dando
Deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número
BCD 8421 más 3.
La tabla siguiente contiene las representaciones en código BCD y de exceso 3 para los
dígitos decimales. Nótese que ambos códigos solo emplean 10 de los 16 posibles grupos
de códigos de 4 bits. Sin embargo, el código de exceso 3 no usa los mismos grupos de
código. Para el código de exceso 3, los grupos de código no válidos son: 0000, 0001,
0010, 1101, 1110 y 1111.
Esta propiedad existe cuando entre un elemento del código y su consecutivo, sólo
cambia 1 bit. Se basa en la forma en que está construido el código. Ayudan a eliminar el
efecto transicional o de la transición
El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas
o viciadas en la representación) de los switches electromecánicos, y actualmente es
usado para facilitar la corrección de errores en los sistemas de comunicaciones, tales
como algunos sistemas de televisión por cable y la televisión digital terrestre.
El código fue llamado posteriormente "Gray" por otros investigadores. Dos patentes en
1953 dieron como nombre alternativo "código de Gray" para el "código binario
reflejado"; uno de ellas también se refiere al código como "mínimum error Code"
(código de error mínimo) y como "cyclic permutation Code" (código de permutación
cíclica).
1. El bit más significativo en el código Gray es el mismo que el que corresponde al más
significativo del número binario.
2. Comenzando de izquierda a derecha, se debe sumar cada par adyacente de los bits en
código binario para obtener el siguiente bit en código Gray. No tenemos en cuenta los
acarreos.
2. A cada bit del código binario generado se le suma el bit en código Gray de la
siguiente posición adyacente. No tenemos en cuenta los acarreos.
Hasta la primera mitad de los años 1940 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. Tomando esto en cuenta, Frank Gray inventó un método para
convertir señales analógicas a grupos de código binario reflejado utilizando un aparato
diseñado con válvulas de vacío, con lo cual garantizó que en cualquier transición
variaría tan sólo un bit.
En la actualidad, el código Gray se emplea como parte del algoritmo de diseño de los
mapas de Karnaugh, los cuales son, a su vez, utilizados como "herramienta de diseño"
en la implementación de circuitos combinacionales y circuitos secuenciales. La vigencia
del código Gray se debe a que un diseño digital eficiente requerirá transiciones más
simples y rápidas entre estados lógicos (0 ó 1), por ello es que se persisten en su uso, a
pesar de que los problemas de ruido y potencia se hayan reducido con la tecnología de
estado sólido de los circuitos integrados.
Debido a las propiedades de distancia de Hamming que posee el código Gray, es usado
en ocasiones en algoritmos genéticos.
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:
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:
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
Base 2 a Gray
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.
Códigos Correctores
Permiten detectar errores en más de un bit
El código debe ser capaz de indicar los bits erróneos
Ejemplos:
Códigos de paridad múltiple
Código Hamming
Códigos polinomiales (CRC)
Código Hamming
Distancia Hamming entre dos vectores: es el número de bits en el que toman valores
diferentes.
Ejemplos: Números naturales 0…..15 codificados en binario con 4 bit con bit de
paridad par.
Distancia del código: 2
Es posible detectar errores en un bit. No es posible corregir ningún error.
Código Hamming
El código de Hamming es
un código detector y
corrector de errores que
lleva el nombre de su
inventor, Richard
Hamming. En los datos
codificados en Hamming
se pueden detectar errores
en un bit y corregirlos, sin
embargo no se distingue entre errores de dos bits y de un bit (para lo que se usa
Hamming extendido). Esto representa una mejora respecto a los códigos con bit de
paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo.
Hamming Extendido
También se utiliza el “Hamming Extendido” para asegurar una mejor detección.
Simplemente consiste en añadir una fila adicional completa, y un nuevo bit de paridad
en la primera posición.
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 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 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.
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).
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.
Ejemplo
La codificación en BCD del número decimal 59237 es:
Decimal: 5 9 2 3 7
BCD: 0101 1001 0010 0011 0111
11100111 01100101
Conversión directa típica entre un número en decimal y uno binario. 8510 =
10101012. La representación el mismo número decimal en código BCD se
muestra a la derecha.
En estas aplicaciones aquellos códigos que hacen que se representen cada uno de estos
dígitos decimales, se denominan códigos BCD, significando decimal codificado en
binario (Binary Coded Decimal).
Entre estos códigos, el de más interés práctico, encontramos e l BCD natural, que basa
en representar cada dígito decimal a su correspondiente binario natural. Cada dígito
corresponde a un grupo de 4 bits.
Se requiere que los datos de entrada decimales, sean convertidos internamente a BCD.
Para obtener los datos se requiere una conversión inversa. (Pasar de BCD a decimal)
La representación del 1 al 9 corresponde con el binario natural, pero a partir del número
decimal 10, se precisan dos grupos de 4 bits por dígito.
Ejemplo: 2001
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 0001 0000
11 0001 0001
12 0001 0010
13 0001 0011
14 0001 0100
15 0001 0101
El código BCD Aiken es un código similar al código BCD natural pero con los “pesos”
o “valores” distribuidos de una manera diferente. En el código BCD natural, los pesos
son: 8 – 4 – 2 – 1, en el código Aiken la distribución es: 2 – 4 – 2 – 1.
Representación
Los códigos parciales son una forma de representar valores con un número balanceado
de positivos y negativos utilizando un número pre-especificado”N” como valor de
parcialidad. Los códigos parciales (y los códigos Gray) son códigos no ponderados. En
XS-3, los números son representados como dígitos decimales, y cada dígito es
representado por cuatro bits como el valor del dígito más 3 (la cantidad "de exceso"):
Para codificar un número como el 127, uno simplemente codificada cada uno de los dígitos
decimales de arriba, dando
Deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número
BCD 8421 más 3.
La tabla siguiente contiene las representaciones en código BCD y de exceso 3 para los
dígitos decimales. Nótese que ambos códigos solo emplean 10 de los 16 posibles grupos
de códigos de 4 bits. Sin embargo, el código de exceso 3 no usa los mismos grupos de
código. Para el código de exceso 3, los grupos de código no válidos son: 0000, 0001,
0010, 1101, 1110 y 1111.
Esta propiedad existe cuando entre un elemento del código y su consecutivo, sólo
cambia 1 bit. Se basa en la forma en que está construido el código. Ayudan a eliminar el
efecto transicional o de la transición
El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas
o viciadas en la representación) de los switches electromecánicos, y actualmente es
usado para facilitar la corrección de errores en los sistemas de comunicaciones, tales
como algunos sistemas de televisión por cable y la televisión digital terrestre.
El código fue llamado posteriormente "Gray" por otros investigadores. Dos patentes en
1953 dieron como nombre alternativo "código de Gray" para el "código binario
reflejado"; uno de ellas también se refiere al código como "mínimum error Code"
(código de error mínimo) y como "cyclic permutation Code" (código de permutación
cíclica).
1. El bit más significativo en el código Gray es el mismo que el que corresponde al más
significativo del número binario.
2. Comenzando de izquierda a derecha, se debe sumar cada par adyacente de los bits en
código binario para obtener el siguiente bit en código Gray. No tenemos en cuenta los
acarreos.
2. A cada bit del código binario generado se le suma el bit en código Gray de la
siguiente posición adyacente. No tenemos en cuenta los acarreos.
Hasta la primera mitad de los años 1940 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. Tomando esto en cuenta, Frank Gray inventó un método para
convertir señales analógicas a grupos de código binario reflejado utilizando un aparato
diseñado con válvulas de vacío, con lo cual garantizó que en cualquier transición
variaría tan sólo un bit.
En la actualidad, el código Gray se emplea como parte del algoritmo de diseño de los
mapas de Karnaugh, los cuales son, a su vez, utilizados como "herramienta de diseño"
en la implementación de circuitos combinacionales y circuitos secuenciales. La vigencia
del código Gray se debe a que un diseño digital eficiente requerirá transiciones más
simples y rápidas entre estados lógicos (0 ó 1), por ello es que se persisten en su uso, a
pesar de que los problemas de ruido y potencia se hayan reducido con la tecnología de
estado sólido de los circuitos integrados.
Debido a las propiedades de distancia de Hamming que posee el código Gray, es usado
en ocasiones en algoritmos genéticos.
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:
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:
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
Base 2 a Gray
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.
Códigos Correctores
Permiten detectar errores en más de un bit
El código debe ser capaz de indicar los bits erróneos
Ejemplos:
Códigos de paridad múltiple
Código Hamming
Códigos polinomiales (CRC)
Código Hamming
Distancia Hamming entre dos vectores: es el número de bits en el que toman valores
diferentes.
Ejemplos: Números naturales 0…..15 codificados en binario con 4 bit con bit de
paridad par.
Distancia del código: 2
Es posible detectar errores en un bit. No es posible corregir ningún error.
Código Hamming
El código de Hamming es
un código detector y
corrector de errores que
lleva el nombre de su
inventor, Richard
Hamming. En los datos
codificados en Hamming
se pueden detectar errores
en un bit y corregirlos, sin
embargo no se distingue entre errores de dos bits y de un bit (para lo que se usa
Hamming extendido). Esto representa una mejora respecto a los códigos con bit de
paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo.
Hamming Extendido
También se utiliza el “Hamming Extendido” para asegurar una mejor detección.
Simplemente consiste en añadir una fila adicional completa, y un nuevo bit de paridad
en la primera posición.
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 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 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.
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).
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.
Ejemplo
La codificación en BCD del número decimal 59237 es:
Decimal: 5 9 2 3 7
BCD: 0101 1001 0010 0011 0111
11100111 01100101
Conversión directa típica entre un número en decimal y uno binario. 8510 =
10101012. La representación el mismo número decimal en código BCD se
muestra a la derecha.
En estas aplicaciones aquellos códigos que hacen que se representen cada uno de estos
dígitos decimales, se denominan códigos BCD, significando decimal codificado en
binario (Binary Coded Decimal).
Entre estos códigos, el de más interés práctico, encontramos e l BCD natural, que basa
en representar cada dígito decimal a su correspondiente binario natural. Cada dígito
corresponde a un grupo de 4 bits.
Se requiere que los datos de entrada decimales, sean convertidos internamente a BCD.
Para obtener los datos se requiere una conversión inversa. (Pasar de BCD a decimal)
La representación del 1 al 9 corresponde con el binario natural, pero a partir del número
decimal 10, se precisan dos grupos de 4 bits por dígito.
Ejemplo: 2001
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 0001 0000
11 0001 0001
12 0001 0010
13 0001 0011
14 0001 0100
15 0001 0101
El código BCD Aiken es un código similar al código BCD natural pero con los “pesos”
o “valores” distribuidos de una manera diferente. En el código BCD natural, los pesos
son: 8 – 4 – 2 – 1, en el código Aiken la distribución es: 2 – 4 – 2 – 1.
Representación
Los códigos parciales son una forma de representar valores con un número balanceado
de positivos y negativos utilizando un número pre-especificado”N” como valor de
parcialidad. Los códigos parciales (y los códigos Gray) son códigos no ponderados. En
XS-3, los números son representados como dígitos decimales, y cada dígito es
representado por cuatro bits como el valor del dígito más 3 (la cantidad "de exceso"):
Para codificar un número como el 127, uno simplemente codificada cada uno de los dígitos
decimales de arriba, dando
Deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número
BCD 8421 más 3.
La tabla siguiente contiene las representaciones en código BCD y de exceso 3 para los
dígitos decimales. Nótese que ambos códigos solo emplean 10 de los 16 posibles grupos
de códigos de 4 bits. Sin embargo, el código de exceso 3 no usa los mismos grupos de
código. Para el código de exceso 3, los grupos de código no válidos son: 0000, 0001,
0010, 1101, 1110 y 1111.
Esta propiedad existe cuando entre un elemento del código y su consecutivo, sólo
cambia 1 bit. Se basa en la forma en que está construido el código. Ayudan a eliminar el
efecto transicional o de la transición
El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas
o viciadas en la representación) de los switches electromecánicos, y actualmente es
usado para facilitar la corrección de errores en los sistemas de comunicaciones, tales
como algunos sistemas de televisión por cable y la televisión digital terrestre.
El código fue llamado posteriormente "Gray" por otros investigadores. Dos patentes en
1953 dieron como nombre alternativo "código de Gray" para el "código binario
reflejado"; uno de ellas también se refiere al código como "mínimum error Code"
(código de error mínimo) y como "cyclic permutation Code" (código de permutación
cíclica).
1. El bit más significativo en el código Gray es el mismo que el que corresponde al más
significativo del número binario.
2. Comenzando de izquierda a derecha, se debe sumar cada par adyacente de los bits en
código binario para obtener el siguiente bit en código Gray. No tenemos en cuenta los
acarreos.
2. A cada bit del código binario generado se le suma el bit en código Gray de la
siguiente posición adyacente. No tenemos en cuenta los acarreos.
Hasta la primera mitad de los años 1940 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. Tomando esto en cuenta, Frank Gray inventó un método para
convertir señales analógicas a grupos de código binario reflejado utilizando un aparato
diseñado con válvulas de vacío, con lo cual garantizó que en cualquier transición
variaría tan sólo un bit.
En la actualidad, el código Gray se emplea como parte del algoritmo de diseño de los
mapas de Karnaugh, los cuales son, a su vez, utilizados como "herramienta de diseño"
en la implementación de circuitos combinacionales y circuitos secuenciales. La vigencia
del código Gray se debe a que un diseño digital eficiente requerirá transiciones más
simples y rápidas entre estados lógicos (0 ó 1), por ello es que se persisten en su uso, a
pesar de que los problemas de ruido y potencia se hayan reducido con la tecnología de
estado sólido de los circuitos integrados.
Debido a las propiedades de distancia de Hamming que posee el código Gray, es usado
en ocasiones en algoritmos genéticos.
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:
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:
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
Base 2 a Gray
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.
Códigos Correctores
Permiten detectar errores en más de un bit
El código debe ser capaz de indicar los bits erróneos
Ejemplos:
Códigos de paridad múltiple
Código Hamming
Códigos polinomiales (CRC)
Código Hamming
Distancia Hamming entre dos vectores: es el número de bits en el que toman valores
diferentes.
Ejemplos: Números naturales 0…..15 codificados en binario con 4 bit con bit de
paridad par.
Distancia del código: 2
Es posible detectar errores en un bit. No es posible corregir ningún error.
Código Hamming
El código de Hamming es
un código detector y
corrector de errores que
lleva el nombre de su
inventor, Richard
Hamming. En los datos
codificados en Hamming
se pueden detectar errores
en un bit y corregirlos, sin
embargo no se distingue entre errores de dos bits y de un bit (para lo que se usa
Hamming extendido). Esto representa una mejora respecto a los códigos con bit de
paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo.
Hamming Extendido
También se utiliza el “Hamming Extendido” para asegurar una mejor detección.
Simplemente consiste en añadir una fila adicional completa, y un nuevo bit de paridad
en la primera posición.
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 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 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.
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).
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.
Ejemplo
La codificación en BCD del número decimal 59237 es:
Decimal: 5 9 2 3 7
BCD: 0101 1001 0010 0011 0111
11100111 01100101
Conversión directa típica entre un número en decimal y uno binario. 8510 =
10101012. La representación el mismo número decimal en código BCD se
muestra a la derecha.
En estas aplicaciones aquellos códigos que hacen que se representen cada uno de estos
dígitos decimales, se denominan códigos BCD, significando decimal codificado en
binario (Binary Coded Decimal).
Entre estos códigos, el de más interés práctico, encontramos e l BCD natural, que basa
en representar cada dígito decimal a su correspondiente binario natural. Cada dígito
corresponde a un grupo de 4 bits.
Se requiere que los datos de entrada decimales, sean convertidos internamente a BCD.
Para obtener los datos se requiere una conversión inversa. (Pasar de BCD a decimal)
La representación del 1 al 9 corresponde con el binario natural, pero a partir del número
decimal 10, se precisan dos grupos de 4 bits por dígito.
Ejemplo: 2001
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 0001 0000
11 0001 0001
12 0001 0010
13 0001 0011
14 0001 0100
15 0001 0101
El código BCD Aiken es un código similar al código BCD natural pero con los “pesos”
o “valores” distribuidos de una manera diferente. En el código BCD natural, los pesos
son: 8 – 4 – 2 – 1, en el código Aiken la distribución es: 2 – 4 – 2 – 1.
Representación
Los códigos parciales son una forma de representar valores con un número balanceado
de positivos y negativos utilizando un número pre-especificado”N” como valor de
parcialidad. Los códigos parciales (y los códigos Gray) son códigos no ponderados. En
XS-3, los números son representados como dígitos decimales, y cada dígito es
representado por cuatro bits como el valor del dígito más 3 (la cantidad "de exceso"):
Para codificar un número como el 127, uno simplemente codificada cada uno de los dígitos
decimales de arriba, dando
Deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número
BCD 8421 más 3.
La tabla siguiente contiene las representaciones en código BCD y de exceso 3 para los
dígitos decimales. Nótese que ambos códigos solo emplean 10 de los 16 posibles grupos
de códigos de 4 bits. Sin embargo, el código de exceso 3 no usa los mismos grupos de
código. Para el código de exceso 3, los grupos de código no válidos son: 0000, 0001,
0010, 1101, 1110 y 1111.
Esta propiedad existe cuando entre un elemento del código y su consecutivo, sólo
cambia 1 bit. Se basa en la forma en que está construido el código. Ayudan a eliminar el
efecto transicional o de la transición
El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas
o viciadas en la representación) de los switches electromecánicos, y actualmente es
usado para facilitar la corrección de errores en los sistemas de comunicaciones, tales
como algunos sistemas de televisión por cable y la televisión digital terrestre.
El código fue llamado posteriormente "Gray" por otros investigadores. Dos patentes en
1953 dieron como nombre alternativo "código de Gray" para el "código binario
reflejado"; uno de ellas también se refiere al código como "mínimum error Code"
(código de error mínimo) y como "cyclic permutation Code" (código de permutación
cíclica).
1. El bit más significativo en el código Gray es el mismo que el que corresponde al más
significativo del número binario.
2. Comenzando de izquierda a derecha, se debe sumar cada par adyacente de los bits en
código binario para obtener el siguiente bit en código Gray. No tenemos en cuenta los
acarreos.
2. A cada bit del código binario generado se le suma el bit en código Gray de la
siguiente posición adyacente. No tenemos en cuenta los acarreos.
Hasta la primera mitad de los años 1940 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. Tomando esto en cuenta, Frank Gray inventó un método para
convertir señales analógicas a grupos de código binario reflejado utilizando un aparato
diseñado con válvulas de vacío, con lo cual garantizó que en cualquier transición
variaría tan sólo un bit.
En la actualidad, el código Gray se emplea como parte del algoritmo de diseño de los
mapas de Karnaugh, los cuales son, a su vez, utilizados como "herramienta de diseño"
en la implementación de circuitos combinacionales y circuitos secuenciales. La vigencia
del código Gray se debe a que un diseño digital eficiente requerirá transiciones más
simples y rápidas entre estados lógicos (0 ó 1), por ello es que se persisten en su uso, a
pesar de que los problemas de ruido y potencia se hayan reducido con la tecnología de
estado sólido de los circuitos integrados.
Debido a las propiedades de distancia de Hamming que posee el código Gray, es usado
en ocasiones en algoritmos genéticos.
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:
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:
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
Base 2 a Gray
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.
Códigos Correctores
Permiten detectar errores en más de un bit
El código debe ser capaz de indicar los bits erróneos
Ejemplos:
Códigos de paridad múltiple
Código Hamming
Códigos polinomiales (CRC)
Código Hamming
Distancia Hamming entre dos vectores: es el número de bits en el que toman valores
diferentes.
Ejemplos: Números naturales 0…..15 codificados en binario con 4 bit con bit de
paridad par.
Distancia del código: 2
Es posible detectar errores en un bit. No es posible corregir ningún error.
Código Hamming
El código de Hamming es
un código detector y
corrector de errores que
lleva el nombre de su
inventor, Richard
Hamming. En los datos
codificados en Hamming
se pueden detectar errores
en un bit y corregirlos, sin
embargo no se distingue entre errores de dos bits y de un bit (para lo que se usa
Hamming extendido). Esto representa una mejora respecto a los códigos con bit de
paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo.
Hamming Extendido
También se utiliza el “Hamming Extendido” para asegurar una mejor detección.
Simplemente consiste en añadir una fila adicional completa, y un nuevo bit de paridad
en la primera posición.
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 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 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.
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).
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.
Ejemplo
La codificación en BCD del número decimal 59237 es:
Decimal: 5 9 2 3 7
BCD: 0101 1001 0010 0011 0111
11100111 01100101
Conversión directa típica entre un número en decimal y uno binario. 8510 =
10101012. La representación el mismo número decimal en código BCD se
muestra a la derecha.
En estas aplicaciones aquellos códigos que hacen que se representen cada uno de estos
dígitos decimales, se denominan códigos BCD, significando decimal codificado en
binario (Binary Coded Decimal).
Entre estos códigos, el de más interés práctico, encontramos e l BCD natural, que basa
en representar cada dígito decimal a su correspondiente binario natural. Cada dígito
corresponde a un grupo de 4 bits.
Se requiere que los datos de entrada decimales, sean convertidos internamente a BCD.
Para obtener los datos se requiere una conversión inversa. (Pasar de BCD a decimal)
La representación del 1 al 9 corresponde con el binario natural, pero a partir del número
decimal 10, se precisan dos grupos de 4 bits por dígito.
Ejemplo: 2001
0 0000
1 0001
2 0010
3 0011
4 0100
5 0101
6 0110
7 0111
8 1000
9 1001
10 0001 0000
11 0001 0001
12 0001 0010
13 0001 0011
14 0001 0100
15 0001 0101
El código BCD Aiken es un código similar al código BCD natural pero con los “pesos”
o “valores” distribuidos de una manera diferente. En el código BCD natural, los pesos
son: 8 – 4 – 2 – 1, en el código Aiken la distribución es: 2 – 4 – 2 – 1.
Representación
Los códigos parciales son una forma de representar valores con un número balanceado
de positivos y negativos utilizando un número pre-especificado”N” como valor de
parcialidad. Los códigos parciales (y los códigos Gray) son códigos no ponderados. En
XS-3, los números son representados como dígitos decimales, y cada dígito es
representado por cuatro bits como el valor del dígito más 3 (la cantidad "de exceso"):
Para codificar un número como el 127, uno simplemente codificada cada uno de los dígitos
decimales de arriba, dando
Deriva su nombre de exceso 3 debido a que cada grupo de 4 bits equivale al número
BCD 8421 más 3.
La tabla siguiente contiene las representaciones en código BCD y de exceso 3 para los
dígitos decimales. Nótese que ambos códigos solo emplean 10 de los 16 posibles grupos
de códigos de 4 bits. Sin embargo, el código de exceso 3 no usa los mismos grupos de
código. Para el código de exceso 3, los grupos de código no válidos son: 0000, 0001,
0010, 1101, 1110 y 1111.
Esta propiedad existe cuando entre un elemento del código y su consecutivo, sólo
cambia 1 bit. Se basa en la forma en que está construido el código. Ayudan a eliminar el
efecto transicional o de la transición
El código Gray fue diseñado originalmente para prevenir señales ilegales (señales falsas
o viciadas en la representación) de los switches electromecánicos, y actualmente es
usado para facilitar la corrección de errores en los sistemas de comunicaciones, tales
como algunos sistemas de televisión por cable y la televisión digital terrestre.
El código fue llamado posteriormente "Gray" por otros investigadores. Dos patentes en
1953 dieron como nombre alternativo "código de Gray" para el "código binario
reflejado"; uno de ellas también se refiere al código como "mínimum error Code"
(código de error mínimo) y como "cyclic permutation Code" (código de permutación
cíclica).
1. El bit más significativo en el código Gray es el mismo que el que corresponde al más
significativo del número binario.
2. Comenzando de izquierda a derecha, se debe sumar cada par adyacente de los bits en
código binario para obtener el siguiente bit en código Gray. No tenemos en cuenta los
acarreos.
2. A cada bit del código binario generado se le suma el bit en código Gray de la
siguiente posición adyacente. No tenemos en cuenta los acarreos.
Hasta la primera mitad de los años 1940 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. Tomando esto en cuenta, Frank Gray inventó un método para
convertir señales analógicas a grupos de código binario reflejado utilizando un aparato
diseñado con válvulas de vacío, con lo cual garantizó que en cualquier transición
variaría tan sólo un bit.
En la actualidad, el código Gray se emplea como parte del algoritmo de diseño de los
mapas de Karnaugh, los cuales son, a su vez, utilizados como "herramienta de diseño"
en la implementación de circuitos combinacionales y circuitos secuenciales. La vigencia
del código Gray se debe a que un diseño digital eficiente requerirá transiciones más
simples y rápidas entre estados lógicos (0 ó 1), por ello es que se persisten en su uso, a
pesar de que los problemas de ruido y potencia se hayan reducido con la tecnología de
estado sólido de los circuitos integrados.
Debido a las propiedades de distancia de Hamming que posee el código Gray, es usado
en ocasiones en algoritmos genéticos.
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:
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:
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
Base 2 a Gray
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.
Códigos Correctores
Permiten detectar errores en más de un bit
El código debe ser capaz de indicar los bits erróneos
Ejemplos:
Códigos de paridad múltiple
Código Hamming
Códigos polinomiales (CRC)
Código Hamming
Distancia Hamming entre dos vectores: es el número de bits en el que toman valores
diferentes.
Ejemplos: Números naturales 0…..15 codificados en binario con 4 bit con bit de
paridad par.
Distancia del código: 2
Es posible detectar errores en un bit. No es posible corregir ningún error.
Código Hamming
El código de Hamming es
un código detector y
corrector de errores que
lleva el nombre de su
inventor, Richard
Hamming. En los datos
codificados en Hamming
se pueden detectar errores
en un bit y corregirlos, sin
embargo no se distingue entre errores de dos bits y de un bit (para lo que se usa
Hamming extendido). Esto representa una mejora respecto a los códigos con bit de
paridad, que pueden detectar errores en sólo un bit, pero no pueden corregirlo.
Hamming Extendido
También se utiliza el “Hamming Extendido” para asegurar una mejor detección.
Simplemente consiste en añadir una fila adicional completa, y un nuevo bit de paridad
en la primera posición.