Funcionamiento del algoritmo XS3 para conversión binario-bcd

Funcionamiento del algoritmo XS3 para conversión binario-BCD Por Uriel Corona Bermúdez En este documento se describe el funcionamiento delalgoritmo X

2 downloads 50 Views 57KB Size

Recommend Stories


Construcción de un algoritmo para el producto
Unidad 01: Resolviendo problemas, la necesidad de operar. Grado 02 • Matemáticas Clase: Construcción de un algoritmo para el producto Nombre: Intro

Rodamientos para Funcionamiento en
Rodamientos para Funcionamiento en ambientes exigentes www.edtcorp.com 1 :: EDT :: Rodamientos para ambientes de funcionamiento exigente EDT se esp

Story Transcript

Funcionamiento del algoritmo XS3 para conversión binario-BCD Por Uriel Corona Bermúdez

En este documento se describe el funcionamiento delalgoritmo XS3 para la conversión de código binario a código BCD. Para la implementación se hacen el uso de corrimientos y sumas binarias, para finalmente obtener un número decimal codificado a binario.

Desarrollo

¿Qué es el código BCD? El código BCD (acrónimo de Binary Coded Decimal) se utiliza para representar fácilmente números decimales en formato binario. Consiste en sustituir cada digito decimal por su equivalente binario natural de cuatro bits.

Decimal

BCD

0

0000

1

0001

2

0010

3

0011

4

0100

5

0101

6

0110

7

0111

8

1000

9

1001 Tabla 1. Código BCD.

No se utiliza para transimisión ni almacenamiento pues necesita más bits que el código binario para representar un número, sin embargo, es utilizado para representación en displays.¹

Descripción del algoritmo para conversión binaria-BCD XS3 El algoritmo para conversión de binario a BCD XS3 utiliza corrimientos y sumas de números binarios. Es utilizado, como anteriormente se menciona, para la codificación de salida hacia algún componente visual. Para la conversión son necesarios dos registros, uno en donde tengamos el número en binario que deseamos convertir a decimal y el segundo en donde quedará guardado el número expresado en decimal. Cada cuatro bits del registro binario en donde se guardará el número decimal expresará un digito en decimal, esto se debe a que en digitos sólo podemos expresar números del 0 al 9, y en binario son necesarios 4 bits para eso como se mostró en la Tabla 1. El registro del número en decimal debe ser del número de digitos máximo que tiene el número 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 número binario debe almacenar el número a convertir expresado en codificación binaria. Cada cuatro bits del registro decimal representarán un digito. Por ejemplo, si se tiene un registro para un número de tres digitos(doce bits) la codificación será así: CCCC DDDD UUUU donde: CCCC son las centenas. DDDD son las decenas. UUUU son las unidades.

¿Cómo funciona el algoritmo para conversión binaria-BCD XS3? Para realizar la conversión los pasos a seguir son los siguientes: 1. Inicializar el registro del número decimal en ceros. 2. Colocar el bit más significativo del registro binario en la posición del bit menos significativo del registro decimal. 3. Revisar para cada digito del registro decimal si excede el número 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 iteración. Despreciar el bit excedente a la izquierda. Repetir desde el paso 2 el número 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 número correspondiente a cada digito decimal.

Ejemplo: Convertir el número

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

Sabemos que el número contendrá tres dígitos, entonces el registro decimal será de doce bits. Mediante el algoritmo tendrémos los siguientes resultados: Iteración

Paso

Registro decimal

Registro binario

1

1

0000 0000 0000

110 0100

2

0000 0000 0001

110 0100

3

0000 < 0100 0000 < 0100 0001 < 0100 0000 0000 0001

110 0100

4

0000 0000 001X

100 100X

2

0000 0000 0011

100 100X

3

0000 < 0100 0000 < 0100 0011 < 0100 0000 0000 0011

100 100X

4

0000 0000 011X

001 00XX

2

0000 0000 0110

001 00XX

3

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

001 00XX

4

0000 0001 001X

010 0XXX

2

0000 0001 0010

010 0XXX

3

0000 < 0100 0001 < 0100 0010 < 0100 0000 0001 0010

010 0XXX

4

0000 0010 010X

100 XXXX

2

0000 0010 0101

100 0000

3

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

100 0000

4

0000 0101 000X

00X XXXX

2

0000 0101 0000

00X XXXX

3

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

4

0001 0000 000X

0X XXXX

2

0001 0000 0000

0X XXXX

2

3

4

5

6

Extra Final

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

Conclusión Es posible observar que la salida es el número en binario propuesto, sólo que con su respectiva codificación BCD. Este algoritmo funciona para cualquier número binario pero es necesario implementarlo como se menciona. El principal error que suele cometerse es no conocer el tamaño del registro decimal y el número de corrimientos que debe hacerse, sin embargo, esa cuestión fue explicada anteriormente. Es mucho más efectivo que el método de sumadores BCD puesto que el resultado es el mismo, sin embargo, el número de operaciones que se realizan es menor y por lo tanto el costo de tiempo también lo es.

Referencias 1. Esteve, B. R. (2005). Cap. 1.5 Otros códigos: Código BCD y código Gray. En Fundamentos de electrónica digital (pp. 32-36). Valencia, España: Universidad Politécnica de Valencia. Servicio de publicación.

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.