Очевидно, что отрицательные числа представимы лишь в знаковых типах данных. В большинстве компьютеров целые отрицательные числа представляются дополнительным кодом. Положительные числа всегда записываются с помощью прямого кода.
Дополнительный код отрицательного числа m — это запись в k разрядах положительного числа 2k — |m|, где |m| ≤ 2k — 1.
Дополнительный код положительного числа равен прямому коду положительного числа.
Заметим, что в компьютерной k-разрядной арифметике 2k = 0: двоичная запись этого числа состоит из одной единицы и k нулей, а в ячейку из k разрядов может уместиться только k цифр, в данном случае они все нули. Таким образом, дополнительный код отрицательного числа — это дополнение |m| до 2k или, в k-разрядной арифметике, до нуля (2k — |m| + |m| = 0). Именно поэтому он называется дополнительным.