Кодирование информации. Савченко В.Ф. - 33 стр.

UptoLike

Составители: 

33
С подобными ситуациями при сложении целых чисел самостоятельно
компьютер не справляется, требуется вмешательство программиста.
Необходим механизм, фиксирующий наличие или отсутствие такого
переполнения.
При выполнении операций сложения необходимо следить за наличием
или отсутствием переноса из старшего разряда числа в знаковый и из
знакового разряда за пределы разрядной сетки, т.к. это будет
свидетельствовать о наличии или отсутствии переполнения разрядной сетки
(таблица 4).
Пример 7.3.5. Вычислить -120-7 = -1111000
2
- 111
2
= 1 0000111
обр
+ + 1
1111000
обр
= 1 0001000
доп
+ 1 1111001
доп
.
Так как оба числа отрицательны, то представим их, к примеру, в
дополнительном коде и выполним сложение по правилам двоичной
арифметики.
1 0001000
+ 1 1111001
1 1 0000001
+ +
Образовалась единица переноса из информационного разряда в
знаковый и из знакового за пределы разрядной сетки (1 ситуация).
Следовательно, переполнение разрядной сетки отсутствует, а единица
переноса из знакового разряда
теряется. Судя по знаку (1), результат
отрицателен, значит, представлен в дополнительном коде (поскольку
сложение выполнялось в этом коде) и требует перевода в прямой код.
Для проверки правильности результата представим его в десятичной
системе счисления. Для этого нам необходимо получить абсолютное
значение информационных разрядов. Тогда: 0000001
доп
= 1111110
=
1111111
пр
= 127. Так как знак результата 1, то имеем -127, что соответствует
истине.
    С подобными ситуациями при сложении целых чисел самостоятельно
компьютер      не   справляется,   требуется   вмешательство    программиста.
Необходим механизм, фиксирующий наличие или отсутствие такого
переполнения.
    При выполнении операций сложения необходимо следить за наличием
или отсутствием переноса из старшего разряда числа в знаковый и из
знакового      разряда   за   пределы   разрядной   сетки,   т.к.   это   будет
свидетельствовать о наличии или отсутствии переполнения разрядной сетки
(таблица 4).
    Пример 7.3.5. Вычислить -120-7 = -11110002 - 1112 = 1 0000111обр +      +1
1111000обр = 1 0001000доп + 1 1111001доп.
    Так как оба числа отрицательны, то представим их, к примеру, в
дополнительном коде и выполним сложение по правилам двоичной
арифметики.
            1 0001000
          + 1 1111001
       1 1 0000001
           + +
      Образовалась единица переноса из информационного разряда в
знаковый и из знакового за пределы разрядной сетки (1 ситуация).
Следовательно, переполнение разрядной сетки отсутствует, а единица
переноса из знакового разряда теряется. Судя по знаку (1), результат
отрицателен, значит, представлен в дополнительном коде (поскольку
сложение выполнялось в этом коде) и требует перевода в прямой код.
    Для проверки правильности результата представим его в десятичной
системе счисления. Для этого нам необходимо получить абсолютное
значение информационных разрядов. Тогда: 0000001доп = 1111110 =
1111111пр = 127. Так как знак результата 1, то имеем -127, что соответствует
истине.



                                        33