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

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

В двоичной системе счисления запись числа в модифицированном коде имеет вид:

Sg1 Sg2.c1,c2,…,cn, где c1,c2,…,cn – числовые разряды, Sg1 Sg2 – два знаковых разряда, каждый из которых занимает один бит. Точка между знаковой и числовой частью служит исключительно для удобства чтения чисел, так как в разрядной сетке регистра отсутствует какой-либо разделитель этих двух частей в записи числа. Положение запятой при такой записи обозначается только в пояснениях, которые содержатся в сопровождающей документации.

Критерий переполнения d разрядной сетки формулируется следующим образом:

d=0 Û Sg1=Sg2.

Если Sg1 ¹ Sg2, и Sg1=0, говорят о положительном переполнении разрядной сетки.

Если Sg1 ¹ Sg2, и Sg1=1, говорят об отрицательном переполнении разрядной сетки.

При обработке чисел в форме с плавающей запятой положительное переполнение разрядной сетки порядка в результате вычислений сопровождается выработкой требования прерывания. Отрицательное переполнение разрядной сетки порядка не требует прерывания. В этом случае результату присваивается значение 0, порядок и мантисса обнуляются.

При представлении чисел в форме с плавающей запятой данные представляются в нормализованном виде. Допустимые значения нормализованной мантиссы находятся в диапазоне p-1£ |m| <1.

Если мантисса результата вычислений не удовлетворяет заданному диапазону значений в правой части неравенства, т.е. , говорят о нарушении нормализации справа (переполнении разрядной сетки).. Критерием нарушения нормализации справа является d=1 (d=1Û Sg1 ¹ Sg2).

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

Если , говорят о нарушении нормализации слева. Критерием нарушения нормализации слева является величина l.

l=1 Û Sg2=c1, т.е. в случае равенства значений знакового разряда и старшего числового разряда при отсутствии переполнения разрядной сетки. Очевидно, l=1 означает, что значение мантиссы меньше, чем р-1. Для нормализации числа требуется выполнить сдвиг мантиссы на один разряд влево и вычесть 1 из значения порядка.








Дата добавления: 2019-04-03; просмотров: 284;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.005 сек.