Académique Documents
Professionnel Documents
Culture Documents
1.- Introducción.
El BCD es un sistema que permite expresar, cada uno de los dígitos decimales con un
código binario, Puesto que en el sistema BCD, solo existen diez grupos de códigos, es
muy fácil convertir entre decimal y BCD y viceversa. Así como se lee y escribe en
decimal, el grupo BCD, nos proporciona un excelente interfaz para los sistemas
binarios. Por ejemplo las entradas por teclado y las salidas digitales.
Es importante entender que los números BCD son números decimales y no números
binarios. La única diferencia entre un número decimal y uno BCD, es que los
decimales se escriben con los símbolos 0, 1, 2, ...., 9. Y los números BCD, utilizan los
códigos 0000, 0001, 0010,...., 1001. Pero el valor del número es exactamente el
mismo.
Los códigos BCD ponderados son aquellos en los que a cada posición o cifra binaria
se le asigna un peso y el número decimal equivalente a una combinación binaria, se
obtiene sumando los pesos de las posiciones que poseen el valor (1). Así pues:
También llamado código 8421, es un tipo de código decimal binario, donde cada dígito
decimal de (0) a (9), se representa, por un código binario de cuatro bits. La
designación 8421, indica los pesos binarios de los cuatro bits 23, 22, 21, 20.
DIGITO BCD
DECIMAL NATURAL
P3 P2 P1 P0
8 4 2 1
0 0 0 0 0
1 0 0 0 1
2 0 0 1 0
3 0 0 1 1
4 0 1 0 0
5 0 1 0 1
6 0 1 1 0
7 0 1 1 1
8 1 0 0 0
9 1 0 0 1
Las combinaciones, a las que no se le asignan ningún número en BCD son: 1010,
1011, 1100, 1101, 1110, 1111.
Para expresar en BCD, reemplace cada dígito en decimal, por el apropiado código de
cuatro bits.
Ejemplo 1.
Expresar el número 35 en código BCD Natural.
Ejemplo 3.
Convertir el número (100100011000) BCD a decimal.
Ejemplo 4.
Convertir el número (1101010010) BCD a decimal.
De las operaciones aritméticas, la suma es la más importante, dado que las otras tres
se pueden llevar a acabo utilizando la suma. Para sumar dos números en código BCD
Natural, utilizamos los siguientes pasos:
a) Sumar los dos números BCD natural, utilizando las reglas de la suma binaria.
Ejemplo 5.
Sumar 5 y 2 en código BCD Natural
5 0 1 0 1
2 + 0 0 1 0
Existe en un BCD Natural, también se puede decir
7 0 1 1 1 que es menor que 9, o sea, que el resultado es
correcto.
Ejemplo 6.
Sumar 9 y 4 en código BCD Natural
9 1 0 0 1
4 + 0 1 0 0
Resultado no existe en BCD Natural, se debe corregir
1 1 0 1 sumándole 0110
+ 0 1 1 0
13 1 0 0 1 1 Resultado correcto
Ejemplo 7.
Sumar 597 y 493 en código BCD Natural
597 0 1 0 1 1 0 0 1 0 1 1 1
463 + 0 1 0 0 0 1 1 0 0 0 1 1
1 0 0 1 1 1 1 1 1 0 1 0
+ 0 1 1 0 0 1 1 0 Corrección
1 0 1 0 0 1 1 0 0 0 0 0
+ 0 1 1 0 Corrección
1060 1 0 0 0 0 0 1 1 0 0 0 0 0 Resultado correcto
Ejemplo 8.
Sumar 8 y 9 en código BCD Natural
8 1 0 0 0
9 + 1 0 0 1
1 0 0 0 1
Aparece acarreo de un bloque de 4 bits al otro, se
+ 0 1 1 0 corrige sumándole 0110
17 1 0 1 1 1 Resultado correcto
Obsérvese que la suma de dos dígitos en código BCD Natural, produce un acarreo de
la siguiente posición de dígito siempre que la suma binaria inicial o la suma del factor
de corrección produzcan un acarreo.
a – b = a + 10 n – 1 – b = 10 n – 1 + (a - b) = 10 n + ( a – b – 1).
Ejemplo 9.
Sean los números 78 y 32 y su representación en código BCD natural es
78 01111000
32 00110010
Los números negativos correspondientes representados en el convenio de
complemento a nueve son:
- 78 99 – 78 = 21
- 32 99 – 32 = 67
7 8 7 8
- 3 2 + 6 7
1 4 5 Aparece un acarreo que se le suma al resultado
+ 1 Corrección
4 6 4 6 Resultado correcto
7 8 0 1 1 1 1 0 0 0
- 3 2 + 0 1 1 0 0 1 1 1
1 1 0 1 1 1 1 1 Números no BCD
+ 0 1 1 0 0 1 1 0 Corrección
1 0 1 0 0 0 1 0 1
+ 1 Corrección
4 6 0 1 0 0 0 1 1 0 Resultado correcto
3 2 3 2
- 7 8 + 2 1
- 4 6 5 3 Complemento a nueve de 46
3 2 0 0 1 1 0 0 1 0
- 7 8 + 0 0 1 0 0 0 0 1
- 4 6 0 1 0 1 0 0 1 1 Complemento a nueve de 46
El resultado obtenido es el complemento a nueve de 46, o sea, que el resultado es
(- 46), porque no hubo acarreo.
El diseño del circuito generador de complemento a nueve, puede ser de dos formas:
COMPLEMENTO
DIGITO
A9
0 0 0 0 1 0 0 1
0 0 0 1 1 0 0 0
0 0 1 0 0 1 1 1
0 0 1 1 0 1 1 0
0 1 0 0 0 1 0 1
0 1 0 1 0 1 0 0
0 1 1 0 0 0 1 1
0 1 1 1 0 0 1 0
1 0 0 0 0 0 0 1
1 0 0 1 0 0 0 0
1 0 1 0 * * * *
1 0 1 1 * * * *
1 1 0 0 * * * *
1 1 0 1 * * * *
1 1 1 0 * * * *
1 1 1 1 * * * *
En la tabla de la figura No. 3, aparece el código BCD Aiken comparado con el BCD
Natural.
Figura No. 3. Tabla de comparación entre códigos BCD natural y BCD Aiken.
Para construir la tabla BCD Aiken, basta notar que del 0 al 4 las palabras código,
son iguales a las del BCD Natural. A partir de ahí se debe aplicar la propiedad de
autocomplementariedad ya expuesta.
Entre más bits hayan por cada representación es más fácil detectar un error. Esto
hace ventajoso al código Aiken para detectar y corregir errores debido a sus cuatro
posiciones.
Ejemplo 10.
Sumar 3 y 4 en código BCD Aiken
3 0 0 1 1
4 + 0 1 0 0
No existe en Aiken y no hubo acarreo, se debe
0 1 1 1 corregir sumándole 0110
+ 0 1 1 0
7 1 1 0 1 Resultado correcto
Ejemplo 11.
Sumar 1 y 2 en código BCD Aiken
1 0 0 0 1
2 + 0 0 1 0
Si existe en Aiken por lo cual es el resultado
3 0 0 1 1 correcto
Ejemplo 12.
Sumar 6 y 8 en código BCD Aiken
6 1 1 0 0
8 + 1 1 1 0
Resultado del primer bloque no existe en Aiken y
1 1 0 1 0 generó acarreo, se debe corregir restando 0110
- 0 1 1 0
14 1 0 1 0 0 Resultado correcto
Ejemplo 13.
Sumar 378 y 851 en código BCD Aiken
378 0 0 1 1 1 1 0 1 1 1 1 0
851 + 1 1 1 0 1 0 1 1 0 0 0 1
1 0 0 1 0 1 0 0 0 1 1 1 1
+ 1 0 1 0 Corrección
1229 1 0 0 1 0 0 0 1 0 1 1 1 1 Resultado correcto
Ejemplo 14.
Sumar 91 y 99 en código BCD Aiken
91 1 1 1 1 0 0 0 1
99 + 1 1 1 1 1 1 1 1
190 1 1 1 1 1 0 0 0 0 Resultado correcto
Ejemplo 15.
Al número 3 restarle 5 en código BCD Aiken
3 0 0 1 1
-5 + 0 1 0 0
No existe en Aiken y acarreo = 0, se debe corregir
0 1 1 1 sumándole 0110
+ 0 1 1 0
-2 0 1 1 0 1 Resultado correcto (-2) en complemento a nueve
Ejemplo 16.
Al número 13 restarle 7 en código BCD Aiken.
13 0 0 0 1 0 0 1 1
-07 + 1 1 1 1 0 0 1 0
Resultado del primer bloque No
1 0 0 0 0 0 1 0 1 existe en Aiken y acarreo = 0, se
debe corregir sumándole 0110
+ 0 1 1 0
Resultado positivo. Se le debe
1 0 0 0 0 1 0 1 1 sumar el acarreo
+ 1
Resultado correcto (+ 06) en
06 0 0 0 0 1 1 0 0 complemento a nueve
12.- Código BCD 5421.
Como su nombre lo indica, los códigos no ponderados son aquellos en los que cada
posición binaria no tiene asignado un peso. El más utilizado de todos es el código
BCD Exceso 3 representado en la tabla de la figura No. 5, donde se compara con el
código BCD Natural.
El código BCD Exceso 3 se relaciona con el BCD Natural y algunas veces se utiliza en
lugar de éste debido a que posee ventajas en ciertas operaciones aritméticas.
En éste código cada número decimal (N) se codifica mediante la combinación que le
corresponde a (N + 3) en el código binario natural y posee la propiedad de ser
autocomplementario también.
En la tabla de la figura No. 5, se nota que ambos códigos BCD, el Natural y el Exceso
3 solo emplean 10 de las 16 posibles combinaciones con 4 bits, además el Exceso-3
no usa los mismos grupos del BCD Natural.
DIGITO BCD BCD
DECIMAL Natural Exceso-3
0 0 0 0 0 0 0 1 1
1 0 0 0 1 0 1 0 0
2 0 0 1 0 0 1 0 1
3 0 0 1 1 0 1 1 0
4 0 1 0 0 0 1 1 1
5 0 1 0 1 1 0 0 0
6 0 1 1 0 1 0 0 1
7 0 1 1 1 1 0 1 0
8 1 0 0 0 1 0 1 1
9 1 0 0 1 1 1 0 0
Ejemplo 17.
Sumar 21 y 48 en código BCD Exceso 3
21 0 1 0 1 0 1 0 0
48 + 0 1 1 1 1 0 1 1
1 1 0 0 1 1 1 1 No hay acarreo ni en 1°, ni en 2° bloque
+ 1 1 0 1 1 1 0 1 Corrección
69 1 0 0 1 1 1 0 0 Resultado correcto
Ejemplo 18.
Sumar 78 y 96 en código BCD Exceso 3
78 1 0 1 0 1 0 1 1
96 + 1 1 0 0 1 0 0 1
1 0 1 1 1 0 1 0 0 Hay acarreo en 1° y 2° bloques
+ 0 0 1 1 0 0 1 1 Corrección
174 1 1 0 1 0 0 1 1 1 Resultado correcto.
Ejemplo 19.
Sumar 7 y 7 en código BCD Exceso 3
7 1 0 1 0
7 + 1 0 1 0
1 0 1 0 0 Hay acarreo en 1° bloque
+ 0 0 1 1 Corrección
14 1 0 1 1 1 Resultado correcto
La resta en código BCD Exceso 3 es muy similar a la de BCD natural, con la única
diferencia que el generador de complemento a nueve es más sencillo.
Ejemplo 20.
Realizar las restas (53 –18) y (18 –53) en código BCD Exceso 3.
53 10000110 - 53 01111001
18 01001011 - 18 10110100
53 1 0 0 0 0 1 1 0
-18 + 1 0 1 1 0 1 0 0
1 0 0 1 1 1 0 1 0 Acarreo final indica resultado positivo
+ 1 Suma del acarreo
+ 0 0 1 1 1 1 0 1 Corrección
35 0 1 1 0 1 0 0 0 Resultado correcto
18 0 1 0 0 1 0 1 1
-53 + 0 1 1 1 1 0 0 1
1 1 0 0 0 1 0 0
+ 1 1 0 1 0 0 1 1 Corrección
No acarreo al final indica resultado
-35 0 1 0 0 1 0 1 1 1 negativo representado en convenio de
complemento a nueve
16.- Bibliografía.
ALDANA M., Fernando. ESPARZA O., Rafael. MARTÍNEZ M., Pedro Manuel.
Electrónica Industrial: Técnicas Digitales. Marcombo Boixareu Editores. España, 1980.