Кодирование отрицательных чисел
Для выполнения операций в ЭВМ числа кодируются специальными машинными кодами. Используются прямой, дополнительный и обратный коды, позволяющие заменить операцию непосредственного вычитания операцией сложения чисел с целью упрощения АЛУ ЭВМ.
Прямой код. Он основан на представлении чисел в виде их абсолютного значения с кодом соответствующего знака: плюса или минуса.
Формула для образования прямого кода двоичного числа
А = 0,а1а2а3 ...ап имеет вид
Пример: 1. А=+0,1101; Апр=0,1101.
2. А= -0,10101; Апр=1-(-0,10101)=!,10101
Из (2.8) следует, что ноль в прямом коде может быть положительным и отрицательным
А=+0,00...00; Аир=0,00...00.
А=-0,00...00; Апр=1,00...00.
Прямой код используют для хранения чисел в ЗУ, в устройствах ввода и вывода, а также при выполнении операции умножения.
Дополнительный код. Формула для образования дополнительного кода двоичного числа А имеет вид
Пример 1.14. А=-0,101010; Адоп= 10+(-0,101010)= 1,010110.
Таким образом, чтобы записать отрицательное число в дополнительном коде, нужно в знаковом разряде этого числа поставить единицу, а во всех числовых разрядах нули заменить единицами, а единицы - нулями и к полученному результату прибавить единицу младшего разряда.
Обратный код. Формула для образования дополнительного кода двоичного числа А имеет вид
' А, если А>0
А-обр— *
„ 10 + А - 10", если А<0.
Пример 1.15. А=-0,100110. Аобр= 10-0,100110-0,000001 = 1,011001.
Таким образом, чтобы записать отрицательное число в дополнительном коде, нужно в знаковом разряде этого числа поставить единицу, а во всех числовых разрядах нули заменить единицами, а единицы - нулями.