> bcd | decimal | binario <
// BCD - decimal codificado en binario para aritmética decimal precisa
Precisión decimal
Mantiene la precisión decimal y evita errores de redondeo en binario.
Codificación por nibble
Cada dígito decimal se codifica exactamente en 4 bits (un nibble).
Múltiples formatos
Soporte para los formatos 8421, 2421, 5421, Excess-3 y Gray BCD.
>> información técnica
Cómo funciona BCD:
BCD codifica cada dígito decimal (0–9) en 4 bits binarios. Los distintos formatos de BCD utilizan ponderaciones de bits diferentes: 8421 (estándar), 2421 (autocomplementario), 5421 (biquinario), Excess-3 (suma 3 a cada dígito) y Gray BCD (minimiza las transiciones de bits). El BCD empaquetado almacena dos dígitos por byte para mejorar la eficiencia.
Ejemplo de formatos BCD:
Decimal: 9 5 3
8421 BCD: 1001 0101 0011
2421 BCD: 1111 1011 0011
5421 BCD: 1100 1000 0011
Excess-3: 1100 1000 0110
Gray BCD: 1101 0111 0010
Empaquetado: 10010101 00110000
(95) (30)
Por qué usar BCD:
- >Cálculos financieros que requieren una representación decimal exacta
- >Pantallas digitales y decodificadores de siete segmentos
- >Circuitos de reloj en tiempo real
- >Calculadoras y chips de cómputo
- >PLC y sistemas de control industrial
>> preguntas frecuentes
¿Qué es BCD?
BCD (Binary-Coded Decimal) es una codificación binaria de números decimales en la que cada dígito decimal se representa por su equivalente binario de 4 bits. Se utiliza cuando la precisión decimal es crucial.
¿Por qué usar BCD en lugar de binario?
BCD evita errores de redondeo en los cálculos decimales y simplifica la conversión a pantallas decimales. Es ideal para aplicaciones financieras donde se necesitan resultados decimales exactos.
¿Qué es el BCD empaquetado?
El BCD empaquetado almacena dos dígitos decimales en un solo byte (8 bits), donde cada nibble representa un dígito. Es más eficiente en espacio que el BCD no empaquetado, que utiliza un byte completo por dígito.
¿Qué formatos BCD existen?
Los formatos BCD más comunes son: 8421 (ponderado estándar), 2421 (autocomplementario), 5421 (biquinario), Excess-3 (cada dígito +3) y Gray BCD (minimiza los cambios de bits entre valores sucesivos).
// Referencia rápida
| Dec | 8421 | 2421 | Excess-3 |
|---|---|---|---|
| 0 | 0000 | 0000 | 0011 |
| 1 | 0001 | 0001 | 0100 |
| 2 | 0010 | 0010 | 0101 |
| 3 | 0011 | 0011 | 0110 |
| 4 | 0100 | 0100 | 0111 |
| 5 | 0101 | 1011 | 1000 |
| 6 | 0110 | 1100 | 1001 |
| 7 | 0111 | 1101 | 1010 |
| 8 | 1000 | 1110 | 1011 |
| 9 | 1001 | 1111 | 1100 |
// Ejemplos de código
Decimal 25 BCD 0010 0101 (packed: 0x25)
Binary 0001 1001 (0x19)
Decimal 1234 BCD 0001 0010 0011 0100 (2 bytes, packed)
Overhead 4 bits per digit vs log2(10) = 3.32 bits -> ~20% larger
Add 0x19 + 0x28 = 0x41 -> +6 correction per nibble > 9 -> 0x47
>> Más preguntas
P: ¿Qué es BCD y en qué se diferencia del binario?
R: En BCD cada dígito decimal se codifica por separado con 4 bits. 25 pasa a ser 0010 0101, mientras que el binario puro da 11001. Los valores decimales se mantienen exactos y son fáciles de mostrar.
P: ¿Qué son BCD empaquetado y desempaquetado?
R: El BCD empaquetado guarda dos dígitos por byte (0x25 = 25). El desempaquetado usa un byte por dígito; el nibble alto es 0 o un indicador de zona como en EBCDIC.
P: ¿Por qué se sigue usando BCD?
R: Para aritmética decimal exacta sin errores de redondeo: sistemas financieros, calculadoras, relojes de tiempo real y displays de 7 segmentos. El coste: 4 bits por dígito en vez de 3,32, un 20 % más de espacio.