Está en la página 1de 4

U.N.S.A F.I.P.

S
ESCUELA PROFESIONAL DE INGENIERA DE SISTEMAS
CURSO: SISTEMAS DIGITALES

PRIMERA PRCTICA DE LABORATORIO
CODIGOS BINARIOS

I. OBJETIVOS
Conocer los diferentes cdigos binarios utilizados en la representacin de la informacin
Conocer los procesos de conversin de un sistema de numeracin de una base cualquiera a otra

II. MARCO TERICO
Debido a la naturaleza biestable de los circuitos de electrnica digital, estos solo procesan cdigos que constan
de 0 y 1 (cdigos binarios) existen muchas situaciones en la electrnica digital en la que necesitamos realizar
tareas especificas, por lo tanto se necesitaran utilizar una serie de cdigos que tambin utilizan ceros (0) y unos
(1), pero sus significados pueden variar, por lo que una misma sucesin de unos y ceros tiene un significado
que depende del cdigo utilizado en su generacin. Hay que notar que tambin cambia la longitud de la unidad
de informacin

a) CDIGO BINARIOS NATURAL
Es aquel que respeta la notacin yuxtaposicional. Supongamos que queramos transformar el nmero
decimal 89532 a su correspondiente equivalencia en binario, aplicando el mtodo de la divisin sucesiva
por dos, llegaremos al siguiente resultado: 10101110110111100

b) CDIGOS BCD
Los cdigos BCD (Binary Coded Decimal) (Decimal Codificado en Binario) son grupos de 4 bits en el
cual cada grupo de 4 bits solo puede representar a un nico dgito decimal (del 0 al 9) Estos cdigos son
llamados cdigos con peso ya que cada bit del grupo posee un peso o valor especifico (8421) nos indica
que el MSB posee un valor de 8, el segundo MSB posee un valor de 4, el tercer MSB tiene un valor de 2 y
el LSB tiene un valor de 1.

Conversin de decimal a BCD
Ya que cada grupo de 4 bits solo puede representar a un nico dgito decimal, la conversin de un
nmero decimal a un nmero BCD se lleva a cabo de la siguiente forma:
1. Separamos al dgito decimal en cada uno de sus dgitos
2. Cada dgito decimal se transforma a su equivalente BCD.
3. El nmero obtenido es el equivalente en BCD del nmero decimal.
NOTA: En BCD los cdigos 1010, 1011, 1100, 1101 y 1111 no tienen decimales equivalentes. Por lo
tanto se les llaman cdigos invlidos
ejemplo


Conversin de BCD a decimal
Ya que el cdigo BCD son grupos de 4 bits, realizaremos lo siguiente:

1. A partir de la izquierda separamos al nmero BCD en grupos de 4 bits.
2. Cada grupo de 4 bits se convierte a su decimal correspondiente.
3. El nmero obtenido es el equivalente decimal del nmero BCD.

Ejemplo: Convertir el nmero BCD 01110001.0000100 a decimal. Separamos en grupo de 4 bits 0111
0001. 0000 1000.
Convertimos cada grupo a decimal y colocamos el punto binario como punto decimal.



Conversin BCD a binario puro
1. El nmero BCD lo transformamos a decimal.
2. Convertimos el decimal obtenido a binario mediante las tcnicas ya estudiadas.
3. El binario obtenido es el equivalente en binario del nmero BCD.

Ejemplo: Convertir el BCD 000100000011.0101 a binario.
Convertimos 0001 0000 0011. 0101
a decimal 1 0 3 . 5.

Conversin de binario puro a BCD
1. Convertimos el nmero binario a nmero decimal.
2. Cada dgito decimal se convierte a su equivalente BCD.
3. El nmero obtenido es el equivalente BCD del nmero binario puro.

Ejemplo: convertir el binario 10001010.101 a BCD
Se convierte primero a decimal 10001010.101 = 128 +8 +2 +0.5 +0.125 =138.625.
convertimos el decimal a BCD 138.625 =0001 0011 1000. 0110 0010 0101

c) CDIGO DE EXCESO n
El cdigo de exceso n guarda estrecha relacin con el cdigo BCD 8421 por el hecho de que cada grupo
de 4 bits solo pueden representar a un nico dgito decimal (del 0 al 9), y deriva su nombre de exceso n
debido a que cada grupo de 4 bits equivale al nmero BCD 8421 mas n.

Conversin de decimal a exceso n
1. Se separa al nmero decimal en cada uno de sus dgitos.
2. Sumarle n a cada dgito decimal.
3. Convertir a BCD el nmero decimal obtenido.
4. El nmero obtenido es el equivalente en XSn del nmero decimal.

Ejemplo: convertir el nmero decimal 18 a su equivalente XS3.
1 8
+3 +3
----- -----
4 11
luego cada resultado se transforma a BCD 0100 1011

Conversin BCD a xcs-n
Para convertir un nmero BCD a cdigo de exceso n tenemos en cuenta los siguientes pasos:

1. A partir de la izquierda separamos al cdigo BCD en grupos de 4 bits.
2. Sumamos n codificado en cuatro bits (si n=3 por ejemplo se suma 0011
2
a cada grupo
de 4 bits).
3. El resultado es el equivalente en XCS-n del cdigo BCD.

Ejemplo: Convertir el BCD 00101001 a XCS-3
Separamos en grupos de bits. 0010 1001 Sumamos 0011
2
a cada grupo
0010 1001
+0011 +0011
-------- -------
0101 1100
El cdigo XCS-3 01011100 equivale al BCD 00101001

d) CDIGO GRAY
Cdigo binario sin peso que no tiene ninguna relacin con el cdigo BCD. Se codifica a partir del binario
natural
1. El MSB del nmero binario ser el mismo para el cdigo Gray.
2. Sumar el MSB del nmero binario al bit situado a su derecha inmediata y anotar el resultado
del nmero en cdigo Gray que estamos formando.
3. Continuar sumando bits a los bits situados a la derecha y anotando las sumas; hasta llegar al
LSB.
4. El nmero en cdigo Gray tendr el mismo nmero de bits que el nmero binario.
Ejemplo: convertir el numero binario 0010 a cdigo Gray

Conversin de cdigo gray a binario
1. El bit izquierdo de cdigo Gray ser el MSB del nmero binario.
2. El bit obtenido es sumado al segundo bit de la izquierda del cdigo Gray, y el resultado se
anotara a la derecha del nmero binario a formar.
3. Este resultado se le suma al bit situado a la derecha inmediata del ultimo bit que sumamos y el
resultado ser el otro bit del nmero binario (se ordena de izquierda a derecha).
4. Repetir el paso anterior hasta llegar al bit mas a la derecha del cdigo Gray.
5. El nmero de bits del nmero binario deber coincidir con el nmero de bits del nmero en
cdigo Gray.

Ejemplo: convertir el nmero en cdigo Gray 1001 a nmero binario


III ACTIVIDADES

1. Escribir en C, Visual C, C++o J ava un programa que reciba un nmero en base diez (con parte entera y
decimal) y realice la codificacin del nmero (segn seleccin hecha por el usuario) en:
BCD
XC2
Gray
Hexadecimal
Binario Natural +Paridad Par

2. Escribir en C, Visual C, C++o J ava un programa que reciba un nmero en base p y lo convierta a base q,
donde p y q son dos bases cualquiera en el conjunto {2,4,8,9,10,16}

Nota: Deber presentarse el cdigo fuente y ejemplos de las pruebas realizadas en un CD. Tener especial
cuidado en el manejo de las interfaces y la robustez (consistencia) del programa desarrollado

También podría gustarte