Для того, чтобы упростить аппаратную архитектуру современных ЭВМ их арифметические устройства не содержат каких либо специальных схем для выполнения вычитания. Данную операцию производит то же устройство, что и сложение, и называется оно сумматором. Но для выполнения вычитания в двоичной системе счисления вычитаемое должно вначале быть преобразовано из прямого кода в специальный код (В десятичной системе тоже часто приходится преобразовывать числа. Например: 17-6 и 17+(-6).). Чтобы получить такой обратный код, необходимо единицы заменить на нули, а нули на единицы. Это называется инвентированием. Например, после инвентирования числа 1001 получится число 0110. Опыт выполнения арифметических действий над числами в обратном коде показал, что для преобразования числа требуется усложнение аппаратных средств. Именно поэтому этот код широкого распространения не получил.