Попередня сторінка          Зміст           Наступна сторінка          Електронні посібники ВНТУ

 

5.4 Виконання операцій алгебраїчного додавання в доповняльному коді

 

Як і в оберненому коді, при використанні доповняль-ного коду операція віднімання замінюється операцією алгебраїчного додавання. При цьому знаковий розряд і цифрова частина числа розглядаються, як єдине ціле, тобто з від'ємними числами цифровий пристрій оперує, як з неправильними дробами. Правильний знак суми формується автоматично в процесі додавання вмісту знакових розрядів операндів і одиниці перенесення з цифрової частини, якщо вона має місце.

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

а)

Обчислимо цей вираз із застосуванням доповнень.

Як відомо, для правильних двійкових дробів

Тоді

де 

Розглянемо два такі випадки:

1) Якщо , то  > 

Це означає, що виникає перенесення до знакового розряду, і також, із знакового розряду. З метою отримання правильного результату необхідно не враховувати (відкинути) перенесення із знакового розряду. Тоді

2) Якщо < 0, то 

Це означає, що не виникає перенесення до знакового розряду, а, також, із знакового розряду. 

Результат операції є від'ємний і записується в доповняльному коді так:

б)

Обчислимо в доповняльному коді:

Вираз

 

Це означає, що виникає перенесення до знакового розряду, і також, із знакового розряду.

Результат операції є від'ємний і записується в доповняльному коді так:

Отримані результати дають право зформулювати таке правило додавання двох чисел в доповняльному коді:

Наступні приклади ілюструють чотири основні варіанти додавання чисел у доповняльному коді при виконанні умови  >  і  < 1.

1) > 0;  > 0;  > 0;   

Приклад 1.

.

                                             

У звязку з тим, що доповняльний код додатніх чисел співпадє з записом самих чисел, оприманий результат співпадає з результатом додавання цих чисел у прямому коді.

2) > 0;  < 0;  > 0;  

Приклад 2.

              відкинути        

Виникає перенесення в знаковий розряд і із знакового розряду. Одиницю перенесення із знакового розряду необхіднр відкинути.

3)  < 0;  > 0;  < 0;  

Приклад 3.

 

                                               

Сума від'ємна. Перенесення до знакового розряду немає.  Перенесення із знакового розрядк теж немає. Результат правильний.

4) < 0;  < 0;  < 0;

Приклад 4.

                    відкинути   

Сума від'ємна. Одиницю перенесення із знакового розряду необхідно відкинути.

Таким чином, у всіх випадках знак суми формується автоматично в результаті застосування загальних правил порозрядного додавання знаковиз і цифрових розрядів операндів Очевидно, що у всіх розглянутих випадках додавання операнди можна поміняти місцями, і при цьому результат не зміниться.