Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
PTZA_NEW.DOC
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.28 Mб
Скачать

3.2.3 Додавання двійкових чисел в оберненому коді

В обернених, як і в доповняльних, кодах ми можемо оперувати з від‘ємними числами ( тобто можемо виконати операцію віднімання ).

У випадку додавання чисел в оберненому коді згідно з алгоритмом (додаток А) від’ємні числа переводимо в обернений код шляхом інвертування кожного інформаційного розряду прямого коду. Додавши числа в обернених кодах перевіряємо умову, чи був перенос зі знакового розряду. Якщо перенос був, то старшу одиницю знакового розряду додаємо до молодшого інформаційного розряду результату. Перевіряємо умову “чи було переповнення розрядної сітки”. При переповненні враховувати додатковий старший інформаційний розряд (розряд переповнення), а результат необхідно перевести у прямий код. Якщо переповнення розрядної сітки не було, то аналізуємо знаковий розряд результату: якщо у знаковому розряді – одиниця, то переводимо результат у прямий код, інвертуючи лише інформаційні розряди; якщо у знаковому розряді – нуль, то результат уже отримали у прямому коді і ніяких подальших перетворень не потрібно. Блок-схема алгоритму методу подана в додатку А.

Приклад 3.6. Додамо числа А=-10, В=12 у двійковій системі числення.

Апр=1.1010, Впр=0.1100

Аоб=1.0101, Воб=0.1100

Виконаємо операцію додавання, використовуючи модифіковані коди:

11.0101

+ 00.1100

100.0001

+ 1

Спр = 00.0010

У прикладі 3.6 здійснюється додавання від‘ємного та додатного числа. У результаті додавання виник перенос зі знакового розряду, тому додаємо одиницю переносу до молодшого інформаційного розряду результату. Але переповнення розрядної сітки не було, і в знаковому розряді результату отримали нуль, тому результат отримали одразу в прямому коді.

Приклад 3.7. Додамо числа А=-11, В=-7 в двійковій системі числення.

Апр=1.1011, Впр=1.0111

Аоб=1.0100, Воб=1.1000

Виконаємо операцію додавання, використовуючи модифіковані коди:

11.0100

+ 11.1000

110.1100

+ 1

10.1101

Соб = 1.01101

Спр = 1.10010

У прикладі 3.7 виник перенос зі знакового розряду результату і переповнення розрядної сітки, тобто необхідно спочатку старшу одиницю знакового розряду додати до молодшого інформаційного розряду результату, а потім, враховуючи розряд переповнення як старший інформаційний розряд, перевести результат у прямий код, тобто інвертувати інформаційні розряди.

Приклад 3.8. Додамо числа А=-5, В=-2 у двійковій системі числення.

Апр=1.0101, Впр=1.0010

Аоб=1.1010, Воб=1.1101

11.1010

+ 11.1101

111.0111

+ 1

Соб = 11.1000

Спр = 11.0111

У прикладі 3.8 здійснюється операція додавання двох від‘ємних чисел, результат ми отримали без переповнення розрядної сітки, але з одиницею у знаковому розряді, тому при переведенні результату в прямий код необхідно інвертувати лише інформаційні розряди.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]