CODIGO BCD
En sistemas de computacin, Binary-Coded Decimal (BCD) o Decimal codificado en binario es un
estndar para representar numeros decimales en el sistema binario, en donde cada dgito decimal
es codificado con una secuencia de 4 bits. Con esta codificacin especial de los dgitos decimales
en el sistema binario, se pueden realizar operaciones aritmticas como suma, resta, multiplicacin
y divisin de nmeros en representacin decimal, sin perder en los clculos la precisin ni tener
las inexactitudes en que normalmente se incurre con las conversiones de decimal a binario puro y
de binario puro a decimal. La conversin de los nmeros decimales a BCD y viceversa es muy
sencilla, pero los clculos en BCD se llevan ms tiempo y son algo ms complicados que con
nmeros binarios puros.
Cada dgito decimal tiene una representacin binaria codificada con 4 bits:
Decimal: 0
BCD:
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
Los nmeros decimales, se codifican en BCD con los de bits que representan sus dgitos.
Por ejemplo, la codificacin en BCD del nmero decimal 59237 es:
Decimal: 5 9 2 3 7
BCD:
0101 1001 0010 0011 0111
La representacin anterior (en BCD) es diferente de la representacin del mismo nmero decimal
en binario puro:
11100111 01100101
1.1Tipos de conversiones
Ya que cada grupo de 4 bits solo puede representar a un nico dgito decimal, la conversin de un
nmero decimal a un nmero BCD se lleva a cabo de la siguiente forma:
Separamos al dgito decimal en cada uno de sus dgitos
Cada dgito decimal se transforma a su equivalente BCD.
El nmero obtenido es el equivalente en BCD del nmero decimal.
Por ejemplo, para convertir el decimal 469 a BCD, segn lo explicado anteriormente, tenemos que
tomar cada dgito decimal y transformarlo a su equivalente BCD.
Figura 1: Conversin de decimal a BCD
De esta forma el decimal 469 equivale al BCD 010001100011
NOTA: En BCD los cdigos 1010, 1011, 1100, 1101 y 1111 no tienen decimales equivalentes. Por lo
tanto se les llaman cdigos invlidos
1.2 CONVERSIN DECIMAL FRACCIONARIO A BCD
Se realiza del modo similar al anterior pero hay que tener en cuenta el punto binario, el punto del
nmero decimal se convertir en el punto binario del cdigo BCD.
Ejemplo: para convertir el decimal 74.42 a BCD:
Separamos el decimal en sus dgitos 7 4. 4 2.
Convertimos cada dgito a decimal a BCD, y colocamos el punto binario en la misma posicin del
punto decimal.
Figura 2: Conversin de decimal fraccionario a BCD
El BCD 010101000011 equivale al decimal 543
1.4 CONVERSIN BCD FRACCIONARIO A DECIMAL
1.
2.
3.
4.
A partir del punto binario separamos al nmero binario en grupos de 4 bits.
Cada grupo de 4 bits se convierte a su equivalente decimal.
El punto binario se convertir en el punto decimal.
El nmero obtenido equivale en decimal al nmero BCD.
Ejemplo: Convertir el nmero BCD 01110001.0000100 a decimal.
Separamos en grupo de 4 bits 0111 0001. 0000 1000.
Convertimos cada grupo a decimal y colocamos el punto binario como punto decimal.
Figura 4: Conversin de BCD fraccionario a decimal.
El BCD 01110001.00001000 equivale al decimal 71.08
Para poder compartir informacin, que est en formato digital, es comn utilizar las
representaciones binaria y hexadecimal.
Hay otros mtodos de representar informacin y una de ellas es el cdigo BCD.
Con ayuda de la codificacin BCD es ms fcil ver la relacin que hay
nmero decimal (base 10) y el nmero correspondiente en binario (base 2)
entre un
El cdigo BCD utiliza 4 dgitos binarios (ver en los dos ejemplos que siguen)
para representar un dgito decimal (0 al 9). Cuando se hace conversin de binario
a decimal tpica no hay una directa relacin entre el
dgito decimal y el dgito binario.
Ejemplo 1:
Conversin directa tpica entre un nmero en decimal y
uno binario.
8510 = 10101012
La
representacin
el
mismo
nmero decimal en cdigo BCD se muestra a la
derecha
Ejemplo 2:
Conversin directa tpica entre un nmero
en decimal y uno binario.
56810 = 10001110002
La representacin el mismo nmero decimal en cdigo BCD se muestra a la derecha
Como se puede ver, de los dos ejemplos anteriores, el nmero equivalente decimal no se parece
a la representacin en cdigo BDC.
Para poder obtener el equivalente cdigo BCD de cada cifra de los nmeros anteriores, se
asigna un "peso" o "valor" segn la posicin que ocupa.
Este "peso" o "valor" sigue el siguiente orden: 8 - 4 - 2 - 1. (Es un cdigo ponderado)
Del ltimo ejemplo se observa que el nmero 5 se representa como:
0 1 0 1.
El primer "0" corresponde al 8,
el primer "1" corresponde a 4,
el segundo "0" corresponde a 2, y...
el segundo "1" corresponde a 1.
De
lo
0x8+1x4+0x2+1x1=5
anterior:
Al cdigo BCD que tiene los "pesos" o "valores" antes descritos se le
llama: Cdigo BCD natural.
El cdigo BCD cuenta como un nmero binario normal del 0 al 9, pero del diez (1010) al quince
(1111) no son permitidos pues no existen, para estos nmeros, el equivalente de una cifra
en decimal.
Este cdigo es utilizado, entre otras aplicaciones, para la representacin de las cifras de los
nmeros decimales en displays de 7 segmentos.
Notas: Los subndices 2 y 10, se utilizan para acotar, en el primer caso que el nmero es binario
y en el segundo caso que el nmero es decimal.