Está en la página 1de 5

Funcionamiento del algoritmo XS3 para conversin binario-BCD

Por Uriel Corona Bermdez

En este documento se describe el funcionamiento delalgoritmo


XS3 para la conversin de cdigo binario a cdigo BCD. Para
la implementacin se hacen el uso de corrimientos y sumas
binarias, para finalmente obtener un nmero decimal
codificado a binario.

Desarrollo

Qu es el cdigo BCD?
El cdigo BCD (acrnimo de Binary Coded Decimal) se utiliza para representar fcilmente nmeros decimales
en formato binario. Consiste en sustituir cada digito decimal por su equivalente binario natural de cuatro bits.

Decimal

BCD

0000

0001

0010

0011

0100

0101

0110

0111

1000

1001
Tabla 1. Cdigo BCD.

No se utiliza para transimisin ni almacenamiento pues necesita ms bits que el cdigo binario para representar
un nmero, sin embargo, es utilizado para representacin en displays.

Descripcin del algoritmo para conversin binaria-BCD XS3


El algoritmo para conversin de binario a BCD XS3 utiliza corrimientos y sumas de nmeros binarios. Es
utilizado, como anteriormente se menciona, para la codificacin de salida hacia algn componente visual.
Para la conversin son necesarios dos registros, uno en donde tengamos el nmero en binario que deseamos
convertir a decimal y el segundo en donde quedar guardado el nmero expresado en decimal.
Cada cuatro bits del registro binario en donde se guardar el nmero decimal expresar un digito en decimal,
esto se debe a que en digitos slo podemos expresar nmeros del 0 al 9, y en binario son necesarios 4 bits para
eso como se mostr en la Tabla 1.
El registro del nmero en decimal debe ser del nmero de digitos mximo que tiene el nmero decimal
multiplicado por cuatro(por lo mencionado anteriormente), por ejemplo, para 63, que tiene dos digitos, es
necesario un registro de ocho bits, para 154, que tiene tres digitos, es necesario un registro de doce bits y as
sucesivamente.
El registro del nmero binario debe almacenar el nmero a convertir expresado en codificacin binaria.
Cada cuatro bits del registro decimal representarn un digito. Por ejemplo, si se tiene un registro para un nmero
de tres digitos(doce bits) la codificacin ser as:
CCCC DDDD UUUU
donde:
CCCC son las centenas.
DDDD son las decenas.
UUUU son las unidades.

Cmo funciona el algoritmo para conversin binaria-BCD XS3?


Para realizar la conversin los pasos a seguir son los siguientes:
1. Inicializar el registro del nmero decimal en ceros.
2. Colocar el bit ms significativo del registro binario en la posicin del bit menos significativo del registro
decimal.
3. Revisar para cada digito del registro decimal si excede el nmero cuatro (0100), es decir, es igual o
mayor a cinco, de ser as, le sumaremos tres (0011), en caso contrario, no hacer nada.
4. Realizar un corrimiento a la izquierda, sin importar el bit que obtengamos a la derecha pues luego se
llenar con la siguiente iteracin. Despreciar el bit excedente a la izquierda. Repetir desde el paso 2 el
nmero de bits del registro binario menos un veces.
5. Realizar nicamente el paso 2.
En cada digito del registro se encontrar, en valor binario, el nmero correspondiente a cada digito decimal.

Ejemplo:
Convertir el nmero

1100100(2) ( 100(10) ) a decimal.

Sabemos que el nmero contendr tres dgitos, entonces el registro decimal ser de doce bits. Mediante el
algoritmo tendrmos los siguientes resultados:
Iteracin

Paso

Registro decimal

Registro binario

0000 0000 0000

110 0100

0000 0000 0001

110 0100

0000 < 0100


0000 < 0100
0001 < 0100
0000 0000 0001

110 0100

0000 0000 001X

100 100X

0000 0000 0011

100 100X

0000 < 0100


0000 < 0100
0011 < 0100
0000 0000 0011

100 100X

0000 0000 011X

001 00XX

0000 0000 0110

001 00XX

0000 < 0100


0000 < 0100
0110 > 0100 => 0110 + 0011 = 1001
0000 0000 1001

001 00XX

0000 0001 001X

010 0XXX

0000 0001 0010

010 0XXX

0000 < 0100


0001 < 0100
0010 < 0100
0000 0001 0010

010 0XXX

0000 0010 010X

100 XXXX

0000 0010 0101

100 0000

0000 < 0100


0010 < 0100
0101 > 0100 => 0101 + 0011 = 1000
0000 0010 1000

100 0000

0000 0101 000X

00X XXXX

0000 0101 0000

00X XXXX

0000 < 0100


0101 > 0100 => 0101 + 0011 = 1000
0000 < 0100
0000 1000 0000

0001 0000 000X

0X XXXX

0001 0000 0000

0X XXXX

Extra
Final

0001 = 1
0000 = 0
0000 = 0
0001 0000 0000 = 1 0 0
Tabla 2. Ejemplo.

Conclusin
Es posible observar que la salida es el nmero en binario propuesto, slo que con su respectiva codificacin
BCD. Este algoritmo funciona para cualquier nmero binario pero es necesario implementarlo como se
menciona.
El principal error que suele cometerse es no conocer el tamao del registro decimal y el nmero de corrimientos
que debe hacerse, sin embargo, esa cuestin fue explicada anteriormente.
Es mucho ms efectivo que el mtodo de sumadores BCD puesto que el resultado es el mismo, sin embargo, el
nmero de operaciones que se realizan es menor y por lo tanto el costo de tiempo tambin lo es.

Referencias
1. Esteve, B. R. (2005). Cap. 1.5 Otros cdigos: Cdigo BCD y cdigo Gray. En Fundamentos de electrnica
digital (pp. 32-36). Valencia, Espaa: Universidad Politcnica de Valencia. Servicio de publicacin.

También podría gustarte