Для виконання арифметичних операцій двійкові числа кодуються спеціальними машинними кодами: прямими, додатковими і зворотними, що дозволяють замінити операції віднімання операціями підсумовування, що спрощує побудову арифметичне-логічних пристроїв.
Прямий код. Подання двійкових чисел в прямому коді засноване на подачі їх в абсолютному вигляді з відповідним знаком: плюсом (0) або мінусом (1).
Формула для освіти прямого двійкового числа має вигляд:
Нуль в прямому коді може виглядати двояко, тобто може бути і позитивним і негативним
Прямий код використовується для зберігання чисел в пристроях введення і виведення інформації, а також при виконанні операції множення.
Зворотний код. Формула для освіти зворотного коду має вигляд
Зворотний код позитивного числа повністю збігається із зображенням числа в прямому коді. Для отримання зворотного коду негативного числа, потрібно в знаковому розряді цього числа поставити одиницю, а в числових розрядах нулі замінити одиницями, а одиниці - нулями.
У зворотному коді нуль зображується неоднозначно:
Додатковий код. Формула для освіти додаткового коду двійкового числа має вигляд
Додатковий код позитивного числа повністю збігається із зображенням числа в прямому коді.
Щоб записати негативне число в додатковому коді, потрібно в знаковому розряді цього числа поставити одиницю, у всіх числових розрядах нулі замінити одиницями, одиниці - нулями і до отриманого результату додати одиницю молодшого розряду.
У додатковому коді негативний нуль відсутня.