Двоично-десятичный код

Двоично-десятичный код
Перевод десятичных цифр в двоично-десятичный код

Двоично-десятичный код (англ. binary-coded decimal), BCD, 8421-BCD  — форма записи целых чисел, когда каждый десятичный разряд числа записывается в виде его четырёхбитного двоичного кода.

Например, десятичное число 31110 будет записано в двоичной системе счисления в двоичном коде как 1 0011 01112, а в двоично-десятичном коде как 0011 0001 0001BCD.

Содержание

Простой способ получения данных в формате BCD из Unsigned Integer

Имеем: Число "A" в формате U16 = 542;

Преобразуем его в BCD: (можно проделать на калькуляторе ОС Windows)

542 -> (Hex to Dec) -> 1346 -> (Dec to Bin) -> 10101000010. вот и всё!


Преимущества и недостатки

Преимущества

  • Упрощён вывод чисел на индикацию — вместо последовательного деления на 10 требуется просто вывести на индикацию каждый полубайт. Аналогично, проще ввод данных с цифровой клавиатуры.
  • Для дробных чисел (как с фиксированной, так и с плавающей запятой) при переводе в человекочитаемый десятичный формат и наоборот не теряется точность.
  • Упрощены умножение и деление на 10, а также округление.

По этим причинам двоично-десятичный формат применяется в калькуляторах — калькулятор в простейших арифметических операциях должен выводить в точности такой же результат, какой подсчитает человек на бумаге.

Недостатки

  • Требует больше памяти.
  • Усложнены арифметические операции. Так как в 8421-BCD используются только 10 возможных комбинаций 4-х битового поля вместо 16, существуют запрещённые комбинации битов: 1010(1010), 1011(1110), 1100(1210), 1101(1310), 1110(1410) и 1111(1510).


Поэтому, при сложении и вычитании чисел формата 8421-BCD действуют следующие правила:

  1. При сложении двоично-десятичных чисел каждый раз, когда происходит перенос бита в старший полубайт, необходимо к полубайту, от которого произошёл перенос, добавить корректирующее значение 0110 (= 610 = 1610 — 1010: разница количеств комбинаций полубайта и используемых значений).
  2. При сложении двоично-десятичных чисел каждый раз, когда встречается недопустимая для полубайта комбинация, необходимо к каждой недопустимой комбинации добавить корректирующее значение 0110 с разрешением переноса в старшие полубайты.
  3. При вычитании двоично-десятичных чисел, для каждого полубайта, получившего заём из старшего полубайта, необходимо провести коррекцию, отняв значение 0110.

Пример операции сложения двоично-десятичных чисел:

Требуется: Найти число A = D + C, где D = 3927, C = 4856

Решение: Представим числа D и C в двоично-десятичной форме:
D = 392710 = 0011 1001 0010 0111BCD
C = 485610 = 0100 1000 0101 0110BCD

Суммируем числа D и С по правилам двоичной арифметики:

       *         ** 
  0011 1001 0010 0111
+ 0100 1000 0101 0110
  ___________________
= 1000 0001 0111 1101 - Двоичная сумма
+      0110      0110 - Коррекция
  ___________________
  1000 0111 1000 0011

'*' — тетрада, из которой был перенос в старшую тетраду

'**' — тетрада с запрещённой комбинацией битов

В тетраду, помеченную символом *, добавляем шестёрку, так как по правилам двоичной арифметики перенос унёс с собой 16, а по правилам десятичной арифметики должен был унести 10. В тетраду, помеченную символом **, добавляем шестёрку и разрешаем распространение переноса, так как комбинация битов 1101 (что соответствует десятичному числу 13) является запрещённой.

См. также



Wikimedia Foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Полезное


Смотреть что такое "Двоично-десятичный код" в других словарях:

  • Двоично-десятичный код — Код, в котором десятичный разряд числа выражают в двоичном коде Источник …   Словарь-справочник терминов нормативно-технической документации

  • двоично-десятичный код — ДДЕ Метод представления десятичных чисел в двоичном коде в виде групп по четыре бита с весовыми значениями, при чтении слева направо, 8, 4, 2, 1. Примечание Каждая группа представляет одну десятичную цифру, например 0010 0011 23. [ГОСТ 30721… …   Справочник технического переводчика

  • двоично-десятичный код — dvejetainis dešimtainis kodas statusas T sritis automatika atitikmenys: angl. binary decimal code; binary coded decimal code vok. Binärkode für Dezimalziffern, m; binärverschlüsselter Dezimalcode, m rus. двоично десятичный код, m pranc. code BCD …   Automatikos terminų žodynas

  • Расширенный двоично-десятичный код обмена информацией — стандартный восьмибитный код, разработанный корпорацией IBM для присвоения двоичных значений буквам, цифрам, знакам пунктуации и управляющим символам. По английски: Extended Binary Coded Decimal Interchange Code Синонимы английские: EBCDIC См.… …   Финансовый словарь

  • расширенный двоично-десятичный код обмена информацией — 01.01.43 расширенный двоично десятичный код обмена информацией [ extended binary coded decimal interchange code; EBCDIC]: Типовой код, состоящий из 8 битовых кодированных знаков. Примечание В настоящее время указанный код заменяется кодом ASCII.… …   Словарь-справочник терминов нормативно-технической документации

  • расширенный двоично-десятичный код обмена информацией — Восьмибитовый код, используемый в вычислительных машинах фирмы IBM для кодирования знаков. [Л.М. Невдяев. Телекоммуникационные технологии. Англо русский толковый словарь справочник. Под редакцией Ю.М. Горностаева. Москва, 2002] Тематики… …   Справочник технического переводчика

  • расширенный двоично-десятичный код для обмена информацией — Стандарт для числового кодирования символов, используемый в компьютерных системах IBM. См. также ASCII.  [http://www.lexikon.ru/dict/net/index.html] Тематики сети вычислительные EN extended binary coded decimal interchange codeEBCDIC …   Справочник технического переводчика

  • расширенный двоично-десятичный код обмена информацией (компьют.) — — [http://slovarionline.ru/anglo russkiy slovar neftegazovoy promyishlennosti/] Тематики нефтегазовая промышленность EN Extended binary coded decimal interchange code …   Справочник технического переводчика

  • расширенный двоично-десятичный код обмена увеличенного объема — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN extended binary coded decimal increased capacityEBCDIC …   Справочник технического переводчика

  • чистый двоично-десятичный код — — [http://www.iks media.ru/glossary/index.html?glossid=2400324] Тематики электросвязь, основные понятия EN natural BCD …   Справочник технического переводчика


Поделиться ссылкой на выделенное

Прямая ссылка:
Нажмите правой клавишей мыши и выберите «Копировать ссылку»