Чтобы арифметические операции над знаковыми числами в ЭВМ можно было бы производить точно также, как и с беззнаковыми переменными, отрицательные числа представляются в дополнительном коде. Достоинство дополнительного кода заключается в том, что удается избежать двух представлений 0, как +0 и как –0.
Чтобы получить дополнительный код отрицательного числа
1) надо взять его положительную форму (иначе говоря, поменять знак);
2) обратить каждый бит ( иначе говоря, заменить в представлении числа 0 на1 и 1 на0);
3) добавить к полученному числу 1 младшего разряда.
Например:
Число –32 —>10100000;
1) положительная форма числа –00100000;
2) обратим биты – 11011111;
3) добавим 1 —–11011111
+ 00000001
получим 11100000 – дополнительный код числа.
Использование дополнительного кода приводит к тому, что отрицательное число становится трудно расшифровать. Однако дело облегчается тем, что положительную форму отрицательного числа в дополнительном коде можно получить аналогично вышеописанной методике, выполнив пункты 2 и 3. Проверим на рассмотренном выше примере:
2) обращаем биты 00011111;
3) добавляем 1 + 00000001
получим 00100000