BCD (Binario Codificado en Decimal)
Binario codificado en decimal (BCD) es una anotación híbrida usada para expresar valores decimales
en forma binaria,
Tabla
binarios pueden expresar 16 diferentes cantidades físicas, pero en este caso habrá seis combinaciones con valor
de bit que son considerados inválidos (específicamente, los valores hexadecimales valor A hasta la F). Los
valores BCD se muestran también con el signo $ porque realmente son números hexadecimales que representan
cantidades decimales.
Cuando el microprocesador hace que una operación sume en BCD, realiza una suma binaria y entonces
ajusta el resultado en la forma BCD. Por ejemplo, la suma BCD siguiente:
9
+ 1
= 10
10
10
10
El microprocesador suma
0000 1001
+ 0000 0001
2
Pero 1010
es equivalente a A
2
se realiza un chequeo para ver si el resultado todavía es un valor BCD válido. Si hubiera cualquier acarreo de un
dígito BCD a otro o si hubiera cualquier código inválido, se realizaría una sucesión de pasos para corregir el
resultado a la forma BCD apropiada. El binario 0000 1010
ejemplo.
Decimal
Tabla 4. Equivalencia entre Decimal, BCD, Binario y hexadecimal
En la mayoría de casos, no es ineficaz el uso de la anotación BCD en cálculos con microprocesador. Es
mejor cambiar de decimal a binario como información entera, el microprocesador hace todos los cálculos en
binario y cambia el resultado binario a BCD o a decimal, como se necesite para mostrarlo. Esto es cierto porque:
Primero, no todos los microcontroladores son capaces de hacer cálculos en BCD, porque necesitan un indicador
de acarreo dígito a dígito que no está presente en todos los microprocesadores (aunque las MCU de Motorola
tienen este indicador). Segundo, obliga al microprocesador emular la conducta humana que es menos eficaz que
permitir al microprocesador trabajar en su sistema binario nativo.
4. BCD usa cuatro bits binarios para representar cada dígito decimal. Cuatro dígitos
= 0000 1010
2
2
que no es un valor BCD válido. Cuando el microprocesador termina el cálculo,
16
BCD
0
$0
1
$1
2
$2
3
$3
4
$4
5
$5
6
$6
7
$7
8
$8
9
$9
Combinaciones
BCD
inválidas
10
$10
99
$99
se corrige a 0001 0000
2
Binario
Hexadecimal
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1110
1111
0001 0000
$10
1001 1001
$99
17
(10 en BCD) en este
2
$0
$1
$2
$3
$4
$5
$6
$7
$8
$9
$A
$B
$C
$E
$F