Недостатки. Запрещённые в BCD битовые комбинации

  • Усложнены арифметические операции.
  • Требует больше памяти.
  • В двоично-десятичном коде BCD существуют запрещённые комбинации битов:

Запрещённые в BCD битовые комбинации:

1010 1011 1100 1101 1110 1111


Запрещённые комбинации возникают обычно в результате операций сложе­ния, так как в BCD используются только 10 возможных комбинаций 4-х битового поля вместо 16. Поэтому, при сложении и вычитании чисел фор­ма­та BCD действуют следующие правила:

  • При сложении двоично-десятичных чисел каждый раз, когда происхо­дит перенос бита в старший полубайт, необходимо к полубайту, от ко­торого произошёл перенос, добавить корректирующее значение 0110.
  • При сложении двоично-десятичных чисел каждый раз, когда встреча­ет­ся недопустимая для полубайта комбинация, необходимо к каждой не­до­пустимой комбинации добавить корректирующее значение 0110 с раз­решением переноса в старшие полубайты.
  • При вычитании двоично-десятичных чисел, для каждого полубайта, по­лучившего заём из старшего полубайта, необходимо провести кор­рек­­цию, вычитая значение 0110.

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

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

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

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


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

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

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

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


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: