кодировать | декодировать | десятичный

> bcd | десятичный | двоичный <

// BCD — двоично‑десятичный код для точной десятичной арифметики

0 символов
0 символов
[DECIMAL]

Десятичная точность

Сохраняет точность десятичных значений и избегает ошибок округления при двоичном представлении.

[4-BIT]

Кодирование по полубайтам

Каждая десятичная цифра кодируется ровно 4 битами (одним полубайтом).

[VARIANTS]

Несколько форматов

Поддерживаются форматы BCD 8421, 2421, 5421, Excess-3 и Gray BCD.

>> техническая информация

Как работает BCD:

BCD кодирует каждую десятичную цифру (0–9) в 4 двоичных бита. Различные форматы BCD используют разные весовые коэффициенты битов: 8421 (стандартный), 2421 (самодополняющийся), 5421 (би‑квинарный), Excess‑3 (к каждому разряду прибавляется 3) и Gray BCD (минимизирует изменения битов). Упакованный BCD хранит две цифры в одном байте для большей эффективности.

Пример форматов BCD:

Десятичное: 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

Упакованный: 10010101 00110000
             (95)     (30)

Зачем использовать BCD:

  • >Финансовые вычисления, требующие точного десятичного представления
  • >Цифровые индикаторы и декодеры семисегментных индикаторов
  • >Схемы часов реального времени
  • >Калькуляторы и вычислительные микросхемы
  • >ПЛК и промышленные системы управления

>> часто задаваемые вопросы

Что такое BCD?

BCD (Binary-Coded Decimal) — это двоичное кодирование десятичных чисел, при котором каждая десятичная цифра представляется своим двоичным эквивалентом из 4 бит. Используется там, где важна точная десятичная арифметика.

Почему использовать BCD вместо чисто двоичного формата?

BCD помогает избежать ошибок округления при десятичных вычислениях и упрощает вывод значений на десятичные индикаторы. Это особенно полезно в финансовых приложениях, где необходимы точные десятичные результаты.

Что такое упакованный BCD?

Упакованный BCD хранит две десятичные цифры в одном байте (8 бит), где каждый полубайт представляет одну цифру. Это эффективнее по памяти, чем неупакованный BCD, где для каждой цифры используется целый байт.

Какие существуют форматы BCD?

К распространённым форматам BCD относятся: 8421 (стандартный взвешенный), 2421 (самодополняющийся), 5421 (би‑квинарный), Excess‑3 (каждая цифра +3) и Gray BCD (минимизирует изменения битов между соседними значениями).

// Краткий справочник

Dec84212421Excess-3
0000000000011
1000100010100
2001000100101
3001100110110
4010001000111
5010110111000
6011011001001
7011111011010
8100011101011
9100111111100

// Примеры кода

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

>> Другие вопросы

В: Что такое BCD и чем оно отличается от двоичного кода?

О: В BCD каждая десятичная цифра кодируется отдельно 4 битами. Число 25 превращается в 0010 0101, а обычное двоичное — 11001. Десятичные значения остаются точными и легко выводятся на дисплей.

В: Что такое упакованный и неупакованный BCD?

О: Упакованный BCD хранит две цифры в байте (0x25 = 25). Неупакованный использует байт на цифру; старшая тетрада равна 0 или зоне, как в EBCDIC.

В: Зачем BCD используют до сих пор?

О: Для точной десятичной арифметики без ошибок округления: финансовые системы, калькуляторы, часы реального времени и 7-сегментные индикаторы. Цена — 4 бита на цифру вместо 3,32, то есть примерно на 20 % больше памяти.

Другие языки