Необхідна умова – представлення від’ємних двійкових чисел
1 доповнення двійкового числа — це інше двійкове число, отримане перемиканням усіх бітів у ньому, тобто перетворенням 0-го біта на 1 і 1-го біта на 0. Приклади:
Let numbers be stored using 4 bits 1's complement of 7 (0111) is 8 (1000) 1's complement of 12 (1100) is 3 (0011)>
2 доповнення двійкового числа — це 1, додана до доповнення до 1 двійкового числа. приклади:
Let numbers be stored using 4 bits 2's complement of 7 (0111) is 9 (1001) 2's complement of 12 (1100) is 4 (0100)>
Ці представлення використовуються для чисел зі знаком.
The основна відмінність між 1′ доповненням і 2′ s доповнення полягає в тому, що доповнення 1′ має два представлення 0 (нуль) — 00000000, що є позитивним нулем (+0), і 11111111, яке є негативним нулем (-0); тоді як у доповненні 2′ є лише одне представлення для нуля — 00000000 (0), оскільки якщо ми додамо 1 до 11111111 (-1), ми отримаємо 100000000, що має дев’ять біт. Оскільки дозволено лише вісім бітів, крайній лівий біт відкидається (або переповнюється), залишаючи 00000000 (-0), що дорівнює позитивному нулю. Це причина, чому зазвичай використовується доповнення 2′s.
Ще одна відмінність полягає в тому, що під час додавання чисел за допомогою доповнення 1′ ми спочатку виконуємо двійкове додавання, а потім додаємо кінцеве значення переносу. Але доповнення 2′s має лише одне значення для нуля і не вимагає перенесення значень.
Діапазон доповнення до 1 для n-розрядного числа становить від -2n-1-1 до 2n-1-1, тоді як діапазон доповнення до 2 для n біта становить від -2n-1до 2n-1-1.
форматувати дату в рядок
Є 2n-1дійсні числа в доповненні до 1 і 2пдійсні числа в доповненні до 2.
Різниця між представленням доповнення 1 і представленням доповнення 2 у табличній формі:
| Критерії | Доповнення 1 | Доповнення 2 |
| Визначення | Доповнення до 1 двійкового числа отримують шляхом інвертування всіх його бітів. | Доповнення до 2 двійкового числа отримують шляхом додавання 1 до доповнення до 1 числа. |
| Діапазон значень, які можуть бути представлені n бітами | Від -2^(n-1) + 1 до 2^(n-1) – 1 | Від -2^(n-1) до 2^(n-1) – 1 |
| Кількість представлень для нуля | Може бути представлено двома способами (всі 0 і всі 1). | Може бути представлено лише одним способом (усі 0). |
| Додавання додатних і від’ємних чисел | Те саме, що двійкове додавання без знаку. | Те саме, що двійкове додавання без знаку. |
| Віднімання чисел | Відніміть менше число від більшого, а потім додайте знаковий біт до результату. | Додайте від’ємне число до додатного за допомогою двійкового додавання. |