sábado, 4 de septiembre de 2010

Codigos de los sistemas digitales

Función de conversión de código

Un código es un conjunto de bits de acuerdo a un único modelo y se emplean para representar una información específica.

Números binarios
El sistema de numeración binario es simplemente otra forma de representar magnitudes. Los dos dígitos binarios (bits) son 1 y 0. La posición de un 1 o un 0 en un número binario indica su peso, o valor dentro del número, así como la posición de un digito decimal determina el valor de ese digito. Empezamos en cero y contábamos hasta nueve antes de quedarnos sin dígitos. Luego comenzamos con otra posición de de digito (a la izquierda) y contamos desde 10 hasta 99.

Con tres podemos continuar contando: 100, 101, 110 y 111. Para continuar necesitamos una cuarta posición de digito, y así sucesivamente. En la tabla 1 se muestra como se cuenta de cero hasta quince. Observe la alternancia de 1s y 0s en cada columna.



                                                                  Tabla 1. Números binarios

Conversión decimal-binario
Una forma de calcular el numero binario equivalente a un numero decimal dado es determinar el conjunto de pesos binarios, cuya suma es igual al numero decimal, una forma fácil de recordar los pesos binarios es que el peso mas bajo es 1, es decir 2 la lista de los siete primeros pesos binarios seria: 1, 2, 4, 8, 16, 32, 64 El numero decimal 9, por ejemplo, puede expresarse como la suma de los pesos binarios siguientes:

9 = 8 + 1 o 9 = 23 + 20

Colocando los 1s en las posiciones de pesos adecuadas, 2^3 y 2^0, y los 0s en la posiciones 2^2 y 2^1, se determina el número binario correspondiente al decimal 9:
2^3  2^2  2^1  2^0
1        0     0      1  nueve en binario

Números Hexadecimales

El sistema de numeración hexadecimal consta de dieciséis dígitos y se usan fundamentalmente como una forma simplificada de representar o escribir los números binarios.El sistema hexadecimal es un sistema en base dieciséis, es decir, esta formado por 16 dígitos y caracteres alfabéticos. La mayoría de los sistemas digitales procesan grupos de datos binarios que son múltiplos de cuatro bits, por lo que hace al numero hexadecimal muy adecuado, ya que cada digito hexadecimal se representa mediante un numero binario de 4 bits, como se puede ver en la tabla 2
                                                           Tabla 2. Números hexadecimales

Diez dígitos numéricos y seis caracteres alfabéticos forman el sistema de numeración hexadecimal. El uso de las letras A, B, C, D, E y F para representar números puede parecer extraño al principio, pero hay que tener en mente que cualquier sistema de numeración es solo un conjunto de símbolos secuenciales.

Conversión binario-hexadecimal

Se parte el número binario en grupos de 4 bits, comenzando por el bit más a la derecha, y se reemplaza cada grupo de 4 bits por su símbolo hexadecimal equivalente, como se ilustra en el siguiente ejemplo:
Convertir a hexadecimal el siguiente numero binario 1100101001010111
Utilizando la tabla 2 se tiene lo siguiente:







Conversión hexadecimal-binario

Para convertir un número hexadecimal en un número binario se realiza el proceso inverso, reemplazando cada símbolo hexadecimal por el grupo de cuatro bits adecuado, como se muestra en el siguiente ejemplo:
Se tiene el numero hexadecimal 10A416, al convertirlo en binario queda de la siguiente forma.





Conversión hexadecimal-decimal

Un método para encontrar el equivalente decimal de un numero hexadecimal es, primero, convertir el numero hexadecimal a binario, y después, el binario a decimal.
Se tiene el numero hexadecimal 1C16. En primer lugar hay que convertir a binario el numero hexadecimal, y después a decimal.






Números octales

El sistema de numeración octal esta formado por ocho dígitos, que son: 0, 1, 2, 3, 4, 5, 6, 7.
Para contar por encima de 7, añadimos otra columna y continuamos así:

10, 11, 12, 13, 14, 15, 16, 17, 20, 21 y así sucesivamente. Contar en octal es parecido a contar en decimal, excepto que los dígitos 8 y 9 no se usan. Para distinguir los números octales de los números decimales y hexadecimales, utilizaremos el subíndice 8 para indicar el número octal. Por ejemplo, 158 es equivalente a 1310 en decimal y a D en hexadecimal.

Conversión octal-decimal

Puesto que el sistema de numeración octal es un sistema en base ocho, cada posición sucesiva de digito es una potencia superior de ocho, empezando por el digito situado mas al a derecha de con 80. La evaluación de un número octal en términos de su equivalente decimales consigue multiplicando cada digito por su peso y sumando los productos, como se muestra a continuación para 23748:







Conversión octal-binario

Puesto que cada digito octal se puede representar mediante un numero binario de 3 dígitos, es fácil convertir a binario un numero octal. Cada digito octal se representa mediante tres bits, como se muestra en la tabla 3
                                                   Tabla 3. Numero octal y binario
Para convertir un número octal en un número binario, simplemente se reemplaza cada digito octal por el correspondiente grupo de tres bits.
Convertir a binario el siguiente numero octal 75268.


Conversión binario-octal

La conversión de un numero binario a un numero octal es el inverso de la conversión de octal a binario. El procedimiento es el siguiente: se comienza por el grupo de tres bits más a la derecha y, moviéndose de derecha a izquierda, se convierte cada grupo de 3 bits en el digito octal equivalente. Si para el grupo mas a la izquierdazo hay disponibles de tres bits, se añaden uno o dos ceros para completar el grupo. Estos ceros no afectan al valor del número binario.

Convertir a octal el siguiente numero binario 11010000100


Código Decimal Binario (BCD)

El código 8421 es un tipo de código decimal binario (BCD). Código decimal binario significa que cada digito decimal, de 0 hasta 9, se representa mediante un código binario de cuatro bits. La designación 8421 indica los pesos binarios de los cuatro bits (23, 22, 21, 20). La facilidad de conversión entre los números en código 8421 y los familiares números decimales es la principal ventaja de este código. En la tabla 4 se muestra el código BCD.
                                                     Tabla 4. Código BCD o 8421


Códigos no validos. Con cuatro dígitos se pueden representar dieciséis números (desde 0000 hasta 1111), pero en el código 8421, solo se usan diez de ellos. Las seis combinaciones que no se emplean (1010, 1011, 1100, 1101, 1110 y 1111) no son validas en el código BCD 8421.




El código Gray

El código Gray es un código sin pesos y no aritmético, es decir, no existen pesos específicos asignados a las posiciones de los bits. La característica más importante del código Gray es que solo varía un bit de un código al siguiente.
                                                                Tabla 5. Código Gray

La tabla 5 presenta el código Gray de cuatro bits para los números decimales de 0 a 15. Como referencia se muestran también los números binarios. Como se puede observar en este código solo cambia un bit entre los sucesivos números.


Conversión de código binario a código Gray

Las siguientes reglas explican como convertir un número binario en un número en código Gray:

1.- El bit mas significativo (el que esta mas a la izquierda, MSB) en el código Gray es el mismo que el correspondiente MSB del numero binario.
2.- Yendo de izquierda a derecha, sumar cada par adyacente de los bits en codigo binario para obtener el siguiente bit en código Gray. Los acarreos deben descartarse, por ejemplo, la conversión del número binario 10110 a código Gray se hace del siguiente modo:

          \


El código Gray es 11101


Código BCD Exceso 3

El código BCD Exceso 3 se obtiene sumando 3 a cada combinación del código BCD natural. como se muestra en la tabla;
El código BCD 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 BCD 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

Bibliografia
Fundamentos de sistemas digitales
autor: Thomas L. Floyd
septima edicion