При выполнении арифметических операций в ЭВМ применяют специальные коды для представления чисел (с целью упрощения арифметических операций) : прямой, обратный и дополнительный коды чисел. Например, упрощается определение знака результата операции, вычитание есть сложение кодов, облегчено определение переполнения разрядной сетки.
Прямой код (представление в виде абсолютной величины со знаком) двоичного числа – это само двоичное число, в котором все цифры, изображающие его значение, записываются как в математической записи, а знак числа записывается двоичной цифрой.
Пример: Дано число X=-1011. Перевести число в прямой код.
Xпр=1.1011
Обратный код положительного числа совпадает с прямым, а при записи отрицательного числа все его цифры, кроме цифры, изображающей знак числа, заменяются на противоположные (0 заменяется на 1, а 1 – на 0).
Пример: Дано число X=-1011. Перевести число в обратный код.
Хобр=1.0100
Дополнительный код (представление в виде дополнения до двойки) положительного числа совпадает с прямым, а код отрицательного числа образуется как результат увеличения на 1 его обратного кода.
Иными словами, процесс построения дополнительного кода отрицательного числа можно разбить на два этапа – построить обратный код, а затем из него построить дополнительный.
Пример: Дано число X=-1011. Перевести в дополнительный код.
Хдоп=1.0101
http://microkontroller.ru/programmirovanie-mikrokontrollerov-avr/pryamoy-obratnyiy-dopolnitelnyiy-kod-dvoichnogo-chisla/.