jueves, 3 de noviembre de 2016

Codigos Alternos

Código BCD


Para poder compartir información, que está en formato digital, es común utilizar las representaciones binaria y hexadecimal. Hay otros métodos de representar información y una de ellas es el código BCD. Con ayuda de la codificación BCD es más fácil ver la relación que hay entre un número decimal (base 10) y el númerocorrespondiente en binario (base 2)

El código BCD utiliza 4 dígitos binarios (ver en los dos ejemplos que siguen) para representar un dígito decimal (0 al 9). Cuando se hace conversión de binario a decimal típica no hay una directarelación entre el dígito decimal y el dígito binario.

Ejemplo 1: 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.



Ejemplo 2: Conversión directa típica entre un número en decimal y uno binario. 56810 = 10001110002. La representación el mismo número decimal en código BCD se muestra a la derecha.



Como se puede ver, de los dos ejemplos anteriores, el número equivalente decimal no se parece a la representación en código BDC. Para poder obtener el equivalente código BCD de cada cifra de los números anteriores, se asigna un “peso” o “valor” según la posición que ocupa. Este “peso” o “valor” sigue el siguiente orden: 8 – 4 – 2 – 1. (Es un código ponderado). Del último ejemplo se observa que el número 5 se representa como: 0 1 0 1.

El primer “0” corresponde al 8, el primer “1” corresponde a 4, el segundo “0” corresponde a 2, y… elsegundo “1” corresponde a 1. De lo anterior: 0 x 8 + 1 x 4 + 0 x 2 + 1 x 1 = 5

Al código BCD que tiene los “pesos” o “valores” antes descritos se le llama: Código BCD natural. El código BCD cuenta como un número binario normal del 0 al 9, pero del diez (1010) al quince (1111) no son permitidos pues no existen, para estos números, el equivalente de una cifra en decimal. Este código es utilizado, entre otras aplicaciones, para la representación de las cifras de losnúmeros decimales en displays de 7 segmentos.

Notas: Los subíndices 2 y 10, se utilizan para acotar, en el primer caso que el número es binario y en el segundo caso que el número es decimal.


Código Gray

El código Gray es un tipo especial de código binario que no es ponderado (los dígitos que componen el código no tienen un peso asignado). Su característica es que entre una combinación de dígitos y la siguiente, sea ésta anterior o posterior, sólo hay una diferencia de un dígito. Por eso también se le llama Código progresivo. Esta progresión sucede también entre la última y la primera combinación. Por eso se le llama también código cíclico. (ver tabla)





El código GRAY es utilizado principalmente en sistemas de posición, ya sea angular o lineal. Sus aplicaciones principales se encuentran en la industria y en robótica. En robótica se utilizan unos discos codificados para dar la información de posición que tiene un eje en particular. Estainformación se da en código GRAY.

Analizando la tabla anterior se observa que:
Cuando un número binario pasa de: 0111 a 1000 (de 7 a 8 en decimal) o de 1111 a 0000 (de 16 a 0 en decimal) cambian todas las cifras.
Para el mismo caso pero en código Gray: 0100 a 1100 (de 7 a 8 en decimal) o de 1000 a 0000 (de 16 a 0 en decimal) sólo ha cambiado una cifra.

La característica de pasar de un código al siguiente cambiando sólo un dígito asegura menos posibilidades de error.

Código BCD excesos de 3



El código Exceso 3 se obtiene sumando “3” a cada combinación del código BCD natural. Ver la tabla inferior. El código exceso 3 es un código en donde la ponderación no existe (no hay “pesos” como en el código BCD natural y código Aiken). Al igual que el código Aiken cumple con la misma característica de simetría. Cada cifra es el complemento a 9 de la cifra simétrica en todos sus dígitos.


Ver la simetría en el código exceso 3 correspondiente a los decimales: 4 y 5, 3 y 6, 2 y 7, 1 y 8, 0 y 9. Es un código muy útil en las operaciones de resta y división.