Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
БЕКИН_Д_ЖЕНАТОВ.doc
Скачиваний:
35
Добавлен:
24.08.2019
Размер:
4.5 Mб
Скачать

4.8. Признак переполнения разрядной сетки

При алгебраическом сложении двух чисел, помещающихся в разрядную сетку, может возникнуть переполнение, т.е. может образоваться сумма, требующая для своего представления на один цифровой разряд больше по сравнению с разрядной сеткой слагаемых. Можно сформулировать следующее правило (признак) для обнаружения переполнения разрядной сетки.

При алгебраическом сложении двух двоичных чисел с использованием дополнительного (обратного) кода для их представления признаком переполнения разрядной сетки является наличие переноса в знаковый разряд суммы при отсутствии переноса из её знакового разряда (положительное переполнение) или наличие переноса из знакового разряда суммы при отсутствии переноса в её знаковый разряд (отрицательное переполнение). Если и в знаковый, и из знакового разряда суммы есть переносы или нет этих переносов, то переполнение отсутствует.

При положительном переполнении результат операции положительный, при отрицательном отрицательный.

Рассмотрим положительное и отрицательное переполнение:

Пример отсутствия переполнения, при наличии переносов в знаковый и из знакового разряда представлен при рассмотрении алгебраического сложения в дополнительном коде.

Рассмотрим простейшие примеры с трехбитовыми словами. Диапазон чисел, которые они представляют, равен от –4 до +3. В рассматриваемых словах 1 бит знака и 2 информационных бита.

1. Алгебраическое суммирование без переноса.

Так как перенос в знаковый разряд или из знакового разряда суммы отсутствует, то переполнения нет.

Результат - положительное число в ПК, равное 3.

2. Алгебраическое суммирование с двумя переносами.

Имеются переносы в знаковый разряд и из знакового разряда вычисляемой суммы, поэтому переполнения нет.

Результат - отрицательное число в ДК, равное – 4.

3. Алгебраическое суммирование с одним переносом. (Положительное переполнение).

При суммировании есть перенос в знаковый разряд суммы, а перенос из знакового разряда отсутствует. Т.е. имеет место положительное переполнение и результат операции положительный.

Число 4 нельзя представить в прямом коде. Формальный результат равен –4.

4. Алгебраическое суммирование с одним переносом.

(Отрицательное переполнение).

Число –5 нельзя представить 3-битовой комбинацией. Формальный результат равен +3.

Из рассмотренных ранее примеров видно, что арифметические опе­рации в дополнительном коде выполняются достаточно просто. Необ­ходимо только не упускать из виду то, с какими числами происходит работа в данный момент - без знака или со знаком. Поскольку внешний вид обоих чисел одинаков, возможны ошибки.

4.9. Правило перевода из дополнительного кода в десятичную систему

Перевод чисел из дополнительного кода в десятичную систему можно проводить по схеме, приведенной на рисунке 4.4.

Рис. 4.4. Схема перевода из ДК в десятичную систему.

Однако существует прямой способ перевода числа из ДК в десятичную систему без использования промежуточного перевода в ПК.

Рассмотрим машинное слово произвольной длины (рис. 4.5.). При прямом способе перевода десятичное число со знаком формируется как сумма разрядов со своими весами и знаками (старший N-й разряд имеет отрицательный вес).

Рис. 4.5. Машинное слово длиной N.

Пример 4.12. Перевести число 1110(2) в десятичную систему.

Можно проверить правильность перевода, используя промежуточный перевод числа в ПК.

Пример 4.13. Перевести число 101100(2) в десятичную систему.

101100(2) (ДК) = –25+23+22 = –32+8+4 = -20(10)

Проверим: