Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Модифицированные коды

 

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

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

Например, в случае сложения двух чисел, представленных в обратном коде:

 

[D1]ок= 1.00110 и [D2] ок =1.00110

сумма этих чисел

F1= D1+ D2

будет подсчитана следующим образом:

F1:

1. 0 0 1 1 0

+1. 0 0 1 1 0

10.0 1 1 0 0

+ 1

0. 0 1 1 0 1

 

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

Ситуацию переполнения можно обнаруживать по факту появления «абсурдного» результата, но для этого необходимо помнить то, что в суммировании принимают участие операнды с одинаковыми знаками и знак полученного при этом результата отличен от знака операндов.

Более просто ситуация переполнения определяется при применении модифицированного кода(обратного или дополнительного). Модифицированные коды отличаются от базовых кодов только тем, что поле знака операндов имеет два разряда, и эти разряды имеют одинаковые значения:

0 0 - для положительных чисел;

1 1 - для отрицательных чисел.

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

 

Пример

Найти значения выражений

С1= А+В, С2=А-В, С3= В-А, С4=-А-В,

используя модифицированный обратный код, если

[А] пк = 0. 1010011,

[B] пк = 1. 0111001.

Решение

Модифицированный обратный код для всех операндов, используемых в приведенных выражениях, имеет вид

[А] мпк = 0 0. 1010011, [А] мок = 0 0. 1010011, [-А] мок = 1 1. 0101100,

[B] мпк = 1 1. 0111001, [B] мок = 1 1. 1000110, [-B] мок = 0 0. 0111001.

Выполним действия, указанные в приведенных выражениях:

 

 

С1:

0 0. 1010011 - [А] мок

+11. 1000110 - [B] пок

100.0011001

. + 1

. 00. 0011010 - [С1] мок=[С1] мпк

С2:

0 0. 1010011 - [А] мок

+0 0. 0111001 - [-B] пок

0 1. 0001100

Результат положительный и имеет место переполнение.

С3:

1 1. 0101100 - [-А] мок

+1 1. 1000110 - [B] пок

110. 1110010

+1

10. 1110011

Результат отрицательный и имеет место переполнение.

С4:

1 1. 0101100 - [-А] мок

+0 0. 0111001 - [-B] пок

11. 1100101 - [С4] мок

11. 0011010 - [С1] мпк

При формировании С1 был получен положительный результат (без переполнения).

При формировании С4 был получен отрицательный результат (без переполнения).

Факт переполнения при формировании С3 и С2 устанавливается по наличию в разрядах знакового поля различных значений.

 

<== предыдущая лекция | следующая лекция ==>
Операции с двоичными числами в обратном коде | Арифметика с алгебраическими двоично-десятичными числами
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 1001; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.