• сложение дополнительных кодов положительного числа С с его отрицательным значением дает так называемую машинную единицу дополнительного кода:
МЕДК=МЕОК+20=10: 00…00,
т.е. число 10 (два) в знаковых разрядах числа;
• дополнительный код получил такое свое название потому, что представление отрицательных чисел является дополнением прямого кода чисел до машинной единицы МЕдк.
Модифицированные обратные и дополнительные коды двоичных чисел отличаются соответственно от обратных и дополнительных кодов удвоением значений знаковых разрядов. Знак “+” в этих кодах кодируется двумя нулевыми знаковыми разрядами, а “-” - двумя единичными разрядами.
A10=9 A2=+1001 [A2]П=[A2]OK=[A2]ДК=0:1001
[A2]МОК=[A2]МДК=00:1001;
B10=-9 B2=-1001 [B2]OK=1:0110 [B2]ДК=1:0111
[B2]МОК=11:0110 [B2]МДК=11:0111.
Целью введения модифицированных кодов являются фиксация и обнаружение случаев получения неправильного результата, когда значение результата превышает максимально возможный результат в отведенной разрядной сетке машины. В этом случае перенос из значащего разряда может исказить значение младшего знакового разряда. Значение знаковых разрядов “01” свидетельствует о положительном переполнении разрядной сетки, а “10” - об отрицательном переполнении. В настоящее время практически во всех моделях ЭВМ роль удвоенных разрядов для фиксации переполнения разрядной сетки играют переносы, идущие в знаковый и из знакового разряда.
Прямой код двоичного числа образуется из абсолютного значения этого числа и кода знака (нуль или единица) перед его старшим числовым разрядом.
A10=+10 A2=+1010 [A2]П=0:1010;
B10=-15 B2=-1111 [B2]П=1:1111.
Точечной вертикальной линией здесь отмечена условная граница, отделяющая знаковый разряд от значащих.
Обратный код двоичного числа образуется по следующему правилу. Обратный код положительных чисел совпадает с их прямым кодом. Обратный код отрицательного числа содержит единицу в знаковом разряде числа, а значащие разряды числа заменяются на инверсные, т.е. нули заменяются единицами, а единицы - нулями.