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 0 1 2 3 4 5 6 7 8 9

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 1 Paso 1 2 3 Registro decimal 0000 0000 0000 0000 0000 0001 0000 < 0100 0000 < 0100 0001 < 0100 0000 0000 0001 0000 0000 001X 0000 0000 0011 0000 < 0100 0000 < 0100 0011 < 0100 0000 0000 0011 0000 0000 011X 0000 0000 0110 0000 < 0100 0000 < 0100 0110 > 0100 => 0110 + 0011 = 1001 0000 0000 1001 0000 0001 001X 0000 0001 0010 0000 < 0100 0001 < 0100 0010 < 0100 0000 0001 0010 0000 0010 010X 0000 0010 0101 0000 < 0100 0010 < 0100 0101 > 0100 => 0101 + 0011 = 1000 0000 0010 1000 0000 0101 000X 0000 0101 0000 0000 < 0100 0101 > 0100 => 0101 + 0011 = 1000 0000 < 0100 0000 1000 0000 0001 0000 000X 0001 0000 0000 0001 = 1 0000 = 0 0000 = 0 0001 0000 0000 = 1 0 0 Tabla 2. Ejemplo. 0X XXXX 0X XXXX Registro binario 110 0100 110 0100 110 0100

4 2 2 3

100 100X 100 100X 100 100X

4 3 2 3

001 00XX 001 00XX 001 00XX

4 4 2 3

010 0XXX 010 0XXX 010 0XXX

4 5 2 3

100 XXXX 100 0000 100 0000

4 6 2 3

00X XXXX 00X XXXX

4 Extra Final 2

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