1.2. Представлениечисел в специальных кодах В ЭВМ с целью упрощения арифметических операций применяются специальные коды.
Для представления отрицательных чисел используются прямой, обратный и дополнительный коды. Положительные коды представляются только в прямом коде.
Прямой код.
Для перевода числа в прямой код необходимо в знаковый разряд записать ноль для положительного числа, один – для отрицательного числа. В цифровые разряды записывается модуль числа.
3 → 0.11
-3 → 1.11
При выполнении операций над числами, представленными в прямом коде, необходимо выравнить разряды чисел по весам этих разрядов.
При сложении складываются модули чисел, а в знаковый разряд записывается ноль.
При выполнении операции вычитания числа сначала выравниваются по разрядам: в случае, если в одном числе меньше разрядов, чем в другом, то в разрядную сетку меньшего числа добавляются слева знаковые разряды. Определяется большее по модулю число, из него вычитается меньшее по модулю число. Результат имеет знак большего по модулю числа.
Например. A= -15=1.1111
B= 6=0.0110
-
1.
1
1
1
1
0.
0
1
1
0
1.
1
0
0
1
Обратный код
Обратный код является дополнением модуля исходного числа до наибольшего числа без знака, помещающегося в разрядную сетку.
(4)
Где q – основание системы счисления.
Для того, чтобы перевести отрицательное число в обратный код, необходимо в знаковый разряд занести единицу, а цифровые разряды проинвертировать.
- 9 → - 0.1001 → 1.0110 обр. Цифровые и знаковый разряд представляют собой единое целое. В процессе сложения по правилам двоичной арифметики «правильный» знак получается автоматически. Если в процессе сложения возникает перенос из знакового разряда, то выходящая за пределы разрядной сетки единица прибавляется к младшему разряду образовавшейся суммы.
Если сумма имеет отрицательный знак, то результата представлен в обратном коде.
Например. A= 37 = 0.100101 пр. B= -23 = - 0.010111 → 1.101000
-
0.
1
0
0
1
0
1
1.
1
0
1
0
0
0
1 +
0.
0
0
1
1
0
1
0.
0
0
1
1
1
0
Дополнительный код
(5)
Где q – основание системы счисления.
Для того, чтобы перевести отрицательное число в дополнительный код, необходимо в знаковый разряд занести единицу, а цифровые разряды проинвертировать и к младщему разряду прибавить единицу.
- 9 → - 0.1001 → 1.0110 +1=1.0111 доп Цифровые и знаковый разряд представляют собой единое целое. В процессе сложения по правилам двоичной арифметики «правильный» знак получается автоматически. Если в процессе сложения возникает перенос из знакового разряда, то выходящая за пределы разрядной сетки единица отбрасывается.
Если сумма имеет отрицательный знак, то результата представлен в дополнительном коде.