Aritmética de números en BCD

Anuncio
Aritmética de números
en BCD
M. en C. Erika Vilches
www.erika-vilches.com/teaching
erika@erika-vilches.com
El código 8421
• Es un tipo de código BCD (Binary coded
decimal)
• “Decimal Codificado a Binario” significa que
cada dígito decimal (0 al 9) es representado
por un código binario de 4 bits.
• La designación 8421 indica los pesos binarios
de los 4 bits (2^3, 2^2, 2^1, 2^0).
• Ventaja → Facilidad de conversión entre
8421 y decimal
Conversión Decimal / BCD
1
2
3
4
5
6
7
8
9
Dígito Decimal 0
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
BCD
Códigos Inválidos
Con 4 bits es posible representar 16 números
(0000 al 1111), sin embargo en 8421 solo se
utilizan 10.
Los 6 códigos no utilizados - 1010, 1011, 1100,
1101, 1110 y 1111 - son inválidos en BCD 8421.
Conversión a BCD
Para expresar cualquier decimal en BCD,
simplemente reemplace cada dígito decimal
con el código de 4 bits correspondiente.
Ejercicio: Convertir el número decimal 9673 a BCD
Conversión a Decimal
• Iniciar con el bit del extremo derecho y
partir en grupos de 4 bits. Escribir el dígito
decimal representado por cada grupo de 4
bits.
Ejercicio: Convertir el código BCD
10000010001001110110 a decimal.
Suma BCD
1. Realizar la suma binaria normalmente.
2. Si la suma de los 4 bits es menor o igual a 9,
es un número BCD válido.
3. Si la suma de los 4 bits es mayor a 9 o si se
genera un carry fuera del grupo de los 4 bits,
es un resultado inválido. Añadir 6 (0110) a la
suma de 4 bits para evitar los 6 estados
inválidos y regresar el código a 8421. Si resulta
un carry cuando se suma el 6, simplemente
añada el carry al siguiente grupo de 4 bits.
Ejemplos donde la suma de los 4 bits es menor o
igual a 9:
Note que en cada caso la suma de cualquier
columna de 4 bits no excede de 9, y los
resultados son números BCD válidos
Ejercicio: Sumar los números BCD
1001000001000011 + 0000100100100101
Ejemplos del procedimiento en el caso de
sumas invalidas:
Ejercicio: Sumar los números BCD
01001000 + 00110100
Ejercicios
•
Cual es el peso binario de cada “1” en los siguientes
números BCD:
a) 0010 b) 1000 c) 0001 d) 0100
•
Convertir los siguientes números decimales a BCD:
a) 6 b) 15 c) 273 d) 849
•
Qué números decimales son representados por cada
código BCD:
a) 10001001 b) 001001111000 c) 000101010111
•
En la suma BCD, cuándo es inválida una suma de 4 bits?
Ejemplo
0010
+
0100
0110
0001
0110
0111
1111 111
0011 1001
0110 0111
1010 10000
Codigo BCD invalido →
Carry → Sumar 0110
2139
+
4667
6806
0010
+ 0100
+
0110
0001
0110
1
0111
0110
0110
1000
1000
1111 111
0011 1001
0110 0111
111
1010 10000
0110 0110
10000 10110
0000 0110
Codigo BCD invalido →
Carry → Sumar 0110
2139
+
4667
6806
Descargar