> bcd | decimal | binário <
// BCD - decimal codificado em binário para aritmética decimal precisa
Precisão decimal
Mantém a precisão decimal evitando erros de arredondamento da representação binária.
Codificação por nibble
Cada dígito decimal é codificado exatamente em 4 bits (um nibble).
Vários formatos
Suporte para os formatos BCD 8421, 2421, 5421, Excess-3 e Gray BCD.
>> informações técnicas
Como o BCD funciona:
O BCD codifica cada dígito decimal (0–9) em 4 bits binários. Diferentes formatos de BCD usam pesos de bits distintos: 8421 (padrão), 2421 (auto-complementar), 5421 (biquinário), Excess-3 (soma 3 a cada dígito) e Gray BCD (minimiza as transições de bits). O BCD compactado armazena dois dígitos por byte para maior eficiência.
Exemplo 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
Compactado: 10010101 00110000
(95) (30)
Por que usar BCD:
- >Cálculos financeiros que exigem representação decimal exata
- >Mostradores digitais e decodificadores de sete segmentos
- >Circuitos de relógio em tempo real
- >Calculadoras e chips de computação
- >PLCs e sistemas de controle industrial
>> perguntas frequentes
O que é BCD?
BCD (Binary-Coded Decimal) é uma codificação binária de números decimais em que cada dígito decimal é representado pelo seu equivalente binário de 4 bits. É usado quando a precisão decimal é essencial.
Por que usar BCD em vez de binário puro?
O BCD evita erros de arredondamento em cálculos decimais e simplifica a conversão para exibição em formato decimal. É ideal para aplicações financeiras que exigem resultados decimais exatos.
O que é BCD compactado?
O BCD compactado armazena dois dígitos decimais em um único byte (8 bits), em que cada nibble representa um dígito. É mais eficiente em espaço que o BCD não compactado, que usa um byte inteiro por dígito.
Quais formatos BCD existem?
Os formatos BCD mais comuns incluem: 8421 (ponderado padrão), 2421 (auto-complementar), 5421 (biquinário), Excess-3 (cada dígito +3) e Gray BCD (minimiza mudanças de bits entre valores sucessivos).
// Referência 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 |
// Exemplos 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
>> Mais perguntas
P: O que é BCD e como difere do binário?
R: No BCD, cada dígito decimal é codificado separadamente com 4 bits. 25 vira 0010 0101, enquanto o binário puro dá 11001. Os valores decimais ficam exatos e fáceis de exibir.
P: O que são BCD compactado e não compactado?
R: O BCD compactado guarda dois dígitos por byte (0x25 = 25). O não compactado usa um byte por dígito; o nibble alto é 0 ou um indicador de zona, como no EBCDIC.
P: Por que o BCD ainda é usado?
R: Para aritmética decimal exata sem erros de arredondamento: sistemas financeiros, calculadoras, relógios de tempo real e displays de 7 segmentos. O custo: 4 bits por dígito em vez de 3,32, cerca de 20 % mais espaço.