Спочатку розглянемо операцію віднімання для простого двійкового зображення. Щораз, коли цифра в розряді від ' ємника більша за цифру в тому самому розряді зменшуваного, запозичується 1 з наступного, старшого розряду. Ця запозичена одиниця дорівнює двом одиницям поточного розряду.
Розглянемо приклади виконання операції віднімання.
1. Потрібно від одного двійкового числа відняти інше:
Перший розряд: 1 – 0 = 1. Записуємо 1.
Другий розряд: 0 – 1. Запозичуємо одиницю в старшому розряді. Одиниця зі старшого розряду переходить у молодший як дві одиниці, тому при вирахуванні одержимо 1.
Третій розряд: одиницю цього розряду ми запозичували, тому зараз у розряді 0. Запозичуємо одиницю зі старшого розряду. Знову одержуємо 1.
2. Виконати 10101.11 – 1010.01:
. | |||||||
. | |||||||
. |
Розглянемо віднімання через додатковий код. Його можна замінити на додавання, якщо від'ємник замінити на число в додатковому коді. Маємо
|
|
,
де позначена функція одержання додаткового коду, – число, отримане інверсією числа
Запишемо це:
(5) | |||||
(–3) | |||||
0 | 0 | 1 | 0 | (2) |
При алгебраїчному додаванні в додатковому коді перенесення зі старшого розряду відкидається. Тому результатом буде число 10.
Результат алгебраїчного додавання доданків, зображених у додатковому коді, отримується в тому самому коді, що й доданки. Щоб змінити знак числа, необхідно:
a у прямому коді змінити знаковий розряд числа на протилежний;
a у зворотному коді інвертувати код;
a у додатковому коді інвертувати код, додати 1 у молодший розряд.