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

UptoLike

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

35
Для проверки правильности результата представим его в десятичной
системе счисления. Имеем: +10000000
2
= +128, что соответствует
правильному результату.
Пример 7.3.8. Вычислить -120-9 = -1111000
2
- 1001
2
= 1 0000111
обр
+
+ 1 1110110
обр
= 1 0001000
доп
+ 1 1110111
доп
.
Так как оба числа отрицательны, то представим их, к примеру, в
дополнительном коде и выполним сложение по правилам двоичной
арифметики.
1 0001000
+ 1 1110111
1 0 1111111
+ –
Образовалась единица переноса из знакового разряда за пределы
разрядной сетки, но при этом отсутствовал перенос из информационного
разряда в знаковый (4 ситуация). Следовательно, имеет место наличие
отрицательного переполнения разрядной сетки. Судя по знаку (1), результат
отрицателен, значит, представлен в дополнительном коде (поскольку
сложение выполнялось в этом коде) и требует перевода в прямой код.
Для проверки правильности результата представим его в десятичной
системе счисления. Для этого нам необходимо получить абсолютное
значение информационных разрядов. Тогда: 01111111
доп
= 10000000
=
10000001
пр
= 129. Так как знак результата 1, то имеем -129, что соответствует
истине.
Из приведенных примеров видно, что при положительном переполнении
(121+7) результат операции сложения положительный, при отрицательном
переполнении (-120-9) – результат отрицательный. При наличии переноса в
знаковый разряд и из него (-120-7), переполнение отсутствует, а
возникающий перенос из знакового разряда игнорируется.
    Для проверки правильности результата представим его в десятичной
системе   счисления.    Имеем:   +100000002    =    +128,   что   соответствует
правильному результату.
    Пример 7.3.8. Вычислить -120-9 = -11110002 - 10012 = 1 0000111обр +
    + 1 1110110обр = 1 0001000доп + 1 1110111доп.
    Так как оба числа отрицательны, то представим их, к примеру, в
дополнительном коде и выполним сложение по правилам двоичной
арифметики.
                  1 0001000
                 + 1 1110111
                 1 0 1111111
                  + –
    Образовалась единица переноса из знакового разряда за пределы
разрядной сетки, но при этом отсутствовал перенос из информационного
разряда в знаковый (4 ситуация). Следовательно, имеет место наличие
отрицательного переполнения разрядной сетки. Судя по знаку (1), результат
отрицателен, значит, представлен в дополнительном коде (поскольку
сложение выполнялось в этом коде) и требует перевода в прямой код.
    Для проверки правильности результата представим его в десятичной
системе счисления. Для этого нам необходимо получить абсолютное
значение информационных разрядов. Тогда: 01111111доп = 10000000 =
10000001пр = 129. Так как знак результата 1, то имеем -129, что соответствует
истине.
    Из приведенных примеров видно, что при положительном переполнении
(121+7) результат операции сложения положительный, при отрицательном
переполнении (-120-9) – результат отрицательный. При наличии переноса в
знаковый разряд и из него (-120-7), переполнение отсутствует,                 а
возникающий перенос из знакового разряда игнорируется.




                                      35