Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Алгебраическое сложение в дополнительном коде




Рассмотрим те же четыре случая сочетания знаков и модулей операндов, что и при рассмотрении сложения в обратном коде в разд. 3.5.1:

(Страница57)

□Случай 1.

Этот случай соответствует обычному сложению прямых кодов чисел:

[A>0]c+[B>0]c=A+B.

□ Случай 2.

[А>0] c+ [В< 0 ] c= A+2 + B, Истинное значение результата в рассматриваемом случае (сумма положительна) будет A+B и коррекция заключается в вычитании 2.

□ Случай 3.

[А>0]c + [В< 0 ] c= A +2+ В. Этот результат соответствует правильному, поскольку рассматривается случай отрицательной суммы.

□ Случай 4.

[А<0]i+[В<0]i =2+ A+ 2+ В. Здесь предварительный результат, как и в случае 2°, нуждается в коррекции путем вычитания 2, поскольку истинное значение отрицательной суммы, представленной в дополнительном коде A+B+ 2.

Как и в обратном коде, коррекция требуется только в случаях 2 и 4, причем в дополнительном коде коррекция заключается просто в игнорировании переноса, возникающего из знакового разряда.

Рассмотрим несколько примеров.

Пример 3.15

Сложить два числа в дополнительном коде: (+13/16)+(-3/16)=(+10/16). Результат — на рис. 3.14.

Рис. 3.14. Результат выполнения примера 3.15

Пример 3.16

Сложить два числа в дополнительном коде (случай 3). Результат — на рис. 3.15.

Рис. 3.15. Результат выполнения примера 3.16

Пример 3.17

Сложить два числа в дополнительном коде (случай 4). Результат — на рис. 3.16.

Рис. 3.16. Результат выполнения примера 3.17

Пример 3.18

Сложить два числа в дополнительном коде (одинаковые модули, но разные знаки). Результат — на рис. 3.17.

Рис. 3.17. Результат выполнения примера 3.18

Из примера 3.18 видно, что "ноль" в дополнительном коде имеет единственное "положительное" представление.

Теперь рассмотрим случаи, когда что соответствует переполнению разрядной сетки.

Пример 3.19

Сложить два числа в дополнительном коде: 13/16+5/16=18/16. Результат — на рис. 3.18.

Рис 3.18. Результат выполнения примера 3.19

Пример 3.20

Сложить два числа в дополнительном коде: (-11/16)+(-8/16)=(-19/16). Результат — на рис. 3.19.

Рис. 3.19. Результат выполнения примера 3.20

Очевидно, для дополнительного кода, как и для обратного, справедливо выражение (3.19). Теперь рассмотрим случаи . Для положительных слагаемых пример 3.12 может относиться как к обратным, так и к дополнительным кодам, но преобразование результата — дополнительного кода в прямой приведет к другому значению. Действительно,

Для случая A< 0, B< 0, имеем следующее.




Поделиться с друзьями:


Дата добавления: 2015-04-25; Просмотров: 978; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.