Лекция 5
Алгебраические формы представления целых знаковых двоичных чисел в компьютере и операции с этими числами
Привычной для человека формой представления является Прямой код (ПК), состоящий из бита знака (0 - плюс, 1 – минус) в крайней левой позиции поля записи числа, и модуля числа в двоичной СЧ - в остальных разрядах. При длине поля n положительные числа в ПК представлены от +0 до +(2n-1 – 1), а отрицательные – от –(2n-1-1) до -0.
Все положительные числа в компьютере представляются в ПК.
Для представления отрицательных чисел кроме ПК существует еще 3 формы: обратный код (ОК), дополнительный код (ДК) и смещенный код (СК).
В ОК в знаковом разряде 1, а на месте битов модуля их обратное (или инверсное) значение: вместо 0 – 1, и на оборот вместо 1 – 0.
В ДК в знаковом разряде 1, а на месте битов код дополняющий модуль ПК до 2n-1.
В СК в поле записи числа записывается двоичный код, равный сумме десятичного знакового числа и смещения К, при котором СК всегда положительный. Обычно K=2n. В результате отрицательные числа от -2n до -1 представлены в СК кодами целых беззнаковых чисел от 0 до (2n-1-1); 0 –
2n-1; а положительные – от (2n-1+1) до (2n-1). СК часто используют для записи порядков чисел с плавающей запятой.
Два правила образования ДК
1. Компьютерное правило. Отрицательное число представляется в ПК и переводиться в ОК. Затем знак 1 сохраняется, а к части модуля ОК добавляется 1.
2. Быстрое правило для человека. Отрицательное число представляется в ПК. Знак 1 сохраняется. Сохраняется самая крайняя 1 модуля и биты после нее. Оставшиеся биты модуля инвертируются (меняются на обратные).
1-е правило для нас будет основным. 2-м будем пользоваться для проверки.
Правило перевода ОК в ПК
Бит знака сохраняется, а оставшиеся биты инвертируются.
Правило перевода ДК в ПК
К ДК применяется правило образования ДК. Получается ПК.
1 00101
+1
00110 ПК(+6)!
2) -13 + 7 = -6
10010 ОК(–13)
+ 00111 ПК(+7)
11001 ОК
ПК =10110=-6!
3. Сложение в ДК
Коды складываются как беззнаковые. Если в старшем знаковом разряде образуется перенос, то он пропадает. Если в знаковом разряде результата 0, то результат положительный в ПК. Если в знаковом разряде 1, то результат отрицательный в ДК. В последнем случае для проверки его надо перевести в ПК.
Из правило видно, что сложение в ДК самое простое, поэтому в компьютерах отрицательные числа представляются в основном в ДК.
Примеры в ДК
1) +13 + (–7) = +6
01101 ПК(+13)
+11001 ДК(–7)
00110 ПК(+6)
2) +7 – 13 = -6
00111 ПК(+7)
+ 10011 ДК(-13)
11010 ДК
ПК=10110 (-6) !