39 Возможно и обратное преобразование отрицательных чисел, за-
писанных в дополнительном коде.
Правило 5.3 (поразрядное определение значения отрицательного
числа, записанного в дополнительном коде).
Алгоритм определения значения отрицательного числа в дополнительном коде состоит из следующих шагов:
1)
проинвертировать все разряды левее самой младшей (правой) единицы;
2)
перевести число из двоичной системы счисления в десятичную систему по правилу 4.1;
3)
умножить результат на -1.
Пример 5.4. Определить, какое десятичное число закодировано
числом 1|0101
д
с помощью поразрядного определения.
Р е ш е н и е. Проинвертируем разряды числа:
1010|1
д
→ 0101|1
п
.
Переведем число из двоичной системы счисления в десятичную
систему счисления:
01011
2
= 11.
Умножим результат на
-1 и получим число -11.
Правило 5.4 (арифметическое определение отрицательного числа,
записанного в дополнительном коде).
Перевести двоичное число в десятичную систему счисления и вычесть из полученного числа чис- ло 2
m ,
где m — количество разрядов в двоичном представлении. Пример 5.5. Определить, какое десятичное число закодировано
числом 1|0101
д
с помощью арифметического определения.
Р е ш е н и е. Переведем число из двоичной системы счисления в
десятичную систему счисления:
10101
2
= 21.
Вычтем из полученного результата перевода число 2
m = 2
5
= 32, так
как двоичное число состоит из пяти разрядов:
21
- 32 = -11.
В результате получим десятичное число
-11.
Числа в знаковых форматах записываются в дополнительном коде,
а в беззнаковых — в прямом.
Запись в дополнительном коде необходима, чтобы складывать и
вычитать положительные и отрицательные числа без преобразова-
ний.