Суммирование чисел с одинаковыми знаками в коде 8421

При выполнении операций над отмеченными кодами возможны следующие особенности:

§ наличие разрешенных и запрещенных комбинаций, свидетельствующих о правильности результата или необходимости его коррекции;

§ при сложении тетрад возможен потетрадный (16 единиц), а не поразрядный (10 единиц) перенос, что также требует корректировки результата.

При сложении чисел в коде 8421 возможны три случая:

1) (a + b) ≤ 9. В этом случае если действия выполняются по правилам двоичной арифметики, то величина получаемой суммы не превышает девяти и коррекция результата не требуется.

5 0101

30011

8 1000

2) 10 ≤ (a + b) ≤ 15. Если результат сложения двух чисел попадает в данный диапазон чисел, то возможны два случая результирующей тетрады.

5 0101 9 1001

6011040100

11 1011 13 1101

В этом случае в тетраде накопилось более девяти единиц и должен быть выполнен десятичный перенос. Перенос единицы в старший разряд выполняется принудительно логической схемой. Условием для формирования единицы переноса является возникновение запрещенной комбинации (наличие единицы в разрядах с весом 8 и 4 или 8 и 2). Однако тетраду надо освободить от десяти избыточных единиц. Это тоже делается принудительно добавлением 0110 (шестерки), что приводит к возникновению шестнадцатеричного переноса. Этот перенос игнорируется. Схема формирования принудительного переноса приведена на рис.11.

3) (a + b) ≥ 16. Здесь в процессе суммирования возникает шестнадцатеричный перенос, в результате которого тетраду покидают с десятком и те шесть единиц, которые принадлежат тетраде. Чтобы восстановить верное значение этой тетрады, необходимо к ней добавить 0110 (шесть).

 
 


8 1000

91001

17 1 0001

0110 коррекция(+ 6) 0111

Рис. 11. Схема определения запрещенной комбинации

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

§ если при потетрадном сложении перенос в соседнюю старшую тетраду не возникает, то результат суммирования не требует коррекции.

§ коррекция результата потетрадного сложения путем добавления поправки 0110 требуется в случае если возникает:

а) потетрадный перенос в старшую тетраду;

б) запрещенная комбинация.

Устройство, которое работает по сформулированным выше правилам, называется одноразрядным двоично-десятичным сумматором.

Пример: сложить числа А=169 и В=378 в BCD-коде.

A = 169 A = 0.0001 0110 1001

B = 378B = 0.0011 0111 1000

A + B = 547 A + B = 0.0101 1110 0001

0110 0110

0.0101 0100 0111

перенос игнорируется


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



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