Дополнительный код

Обратный код

получается инвертированием всех цифр двоичного кода абсолютной величины числа для отрицательного числа. Обратный код положительного числа равен прямому.

Пример: число: -1, модуль 00000001, обратный код 11111110

Для обратного кода справедливо следующее соотношение:

 

n-разрядность машинного слова, aзн =0 для положительных чисел, aзн =1 для отрицательных чисел.

1010 = 1*(-23+1)+[0x20+1x21+0x22]= -7+2=-5

Дополнительный код положительного числа совпадает с прямым, а отрицательного можно получить двумя способами:

I вариант. Переписать исходную последовательность битов числа справа налево до первой единицы, включая ее. Остальные биты инвертировать. 610=01102 -610=10102
II вариант. Дополнительный код = логическое дополнение (все биты инвертированы)+1 -610=10012+1 =10102

 

Для дополнительного кода справедливо следующее соотношение:

 
 

где n-разрядность машинного слова, aзн =0 для положительных чисел, aзн =1 для отрицательных чисел.

ПримерСтруктурной записи числа -193(10) = -11000001(2) в разрядной сетке ПК.

Число с фиксированной запятой формата слово со знаком:

  Знак числа величина числа
N разряда
Число в пр. коде
Обр.код
Доп. код