Рассматриваем однобайтное представление целых чисел. Старший (левый) разряд знаковый, остальные семь хранят число в дополнительном двоичном коде.
У положительного числа в знаковом разряде 0, у отрицательного единица.
Для положительного числа прямой, обратный и дополнительный коды совпадают.
У отрицательного числа в обратном коде все биты, кроме знакового, инвертируются. Для получения дополнительного кoда число в обратном коде арифметически увеличивается на 1.
Чтобы получить для отрицательного числа прямой код, нужно инвертировать все его биты, кроме знакового, а затем арифметически увеличить код на 1.