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

Отрицательные BCD-коды должны представляться в прямом, обратном или дополнительном кодах. Особенностью BCD-кодов является то, что инверсия тетрады означает дополнение до 15, а для соответствующей десятичной цифры до 9. Следовательно, необходимо убрать разницу. Один из приемов формирования обратного BCD-кода состоит в добавлении во все тетрады отрицательного числа 0110, затем их инверсии.

При сложении чисел с разными знаками возможны следующие случаи.

1) a - b ≥ 0

a = 7 0. 0111 [ a ]обр

b= -31. 1100 [ b ]обр

4 10. 0011

1

0. 0100

При образовании инверсии отрицательной тетрады в нее добавляются 15 единиц. Эти 15 единиц находятся и в сумме. Но благодаря шестнадцатеричному переносу из тетрады уходит 16 единиц (15+1 − эта единица восстанавливается добавлением по цепи циклического переноса).

2) a - b < 0

a = 3 0. 0011 [ a ]обр

b = -71. 1000 [ b ]обр

-4 1. 1011

0. 0100

Здесь, как и в предыдущем примере, в тетраде суммы пятнадцать лишних единиц. Но при переходе от инверсной формы к прямой лишние единицы уничтожаются сами собой. Это то же самое, что от значащей части суммы вычесть пятнадцать: 1011 - 1111 = 0100. Рассмотрим несколько примеров.

A = 378 0. 0011 0111 1000

B = 1691. 1110 1001 0110

A – B = 209 10. 0010 0000 1110

циклический перенос 1

0. 0010 0000 1111

Из последней тетрады нет переноса, таким образом, это соответствует заему в нее 16 единиц (вместо необходимых 10). Следовательно, из нее необходимо удалить лишние шесть единиц. Для этого в тетраду добавляется 10 - дополнение шести до шестнадцати:

0. 0010 0000 1111

1010

0. 0010 0000 1001

+ 2 0 9

A = 169 0. 0001 0110 1001

B = 378 1. 1100 1000 0111

A–B= - 209 1. 1101 1111 0000

0110

1. 1101 1111 0110

- 0010 0000 1001

- 2 0 9

Таким образом, в тетраду производится заем, если результат:

§ положительный и из тетрады нет переноса;

§ отрицательный и из тетрады есть перенос.


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



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