Реферат: Выполнение операций алгебраического сложения и сдвига в ЭВМ

Сдвиг в дополнительном коде:

[А]д = 1,011010, k=1 (левый сдвиг) k=-1 (правый сдвиг)

21 хА=1,110100 2-1 хА=1,101101

2.1 Алгоритм сложения чисел в машинах с плавающей запятой

Результат сложения двух чисел А=pma a; B=pmb b, представленных в форме с плавающей запятой, должен быть тоже числом вида С=pm с c (здесь a, b, c – мантиссs, ma , mb , mc – порядокb). При этом должно выполняться равенство:

pma a+ pmb b= pm с c

При сложении чисел, представленных в нормальной форме, можно выделить 4 этапа:

1. Уравниваются порядки слагаемых: меньший порядок увеличивается до большего, а мантисса преобразуемого числа сдвигается вправо на соответствующее количество разрядов.

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

2. Производится преобразование мантисс в один из модифицированных инверсных кодов: дополнительный или обратный.

3. Выполняется сложение мантисс по правилам сложения чисел с фиксированной запятой.

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

Пример 1. Прямой код.

А: mа =0,011; a=1,101010; В: mв =0,101; b=0,110010;

т.к. mа - mв = 2? то необходимо mа увеличить до mв и откорректировать мантиссу числа А сдвигом на 2 разряда вправо.

А’: m’а =0,101; a=1,001010;

[a’]Д =11,110110; [b]Д =00,110010;

+ 11,110110; 00,110010

1 00,101000 mс =0,101; с=0,101000. Результат нормализован.


2.2 Денормализация чисел. Виды денормализации и методы устранения

В зависимости от абсолютных величин мантисс слагаемых результат может получиться нормализованным, или денормализованным (влево – переполнение, или вправо). Положительные нормализованные числа имеют 1 в старшем разряде мантиссы, а отрицательные числа, записанные в инверсном коде. имеют 0 в этом разряде. Несовпадение цифр в знаковых разрядах свидетельствует о денормализации влево (переполнение), а совпадение цифр знакового и старшего значащего разряда мантиссы - о нарушении нормализации вправо (правая денормализация).

Правила устранения денормализации.

При денормализации влево мантисса сдвигается на один разряд вправо, а порядок увеличивается на 1.

При денормализации вправо мантисса сдвигается влево до появления в старшем разряде 1, при знаке 0, или 0 при знаке 1, а из порядка вычитается количество 1, равное числу сдвигов мантиссы.

Порядок проверки денормализации.

Сначала выполняется проверка, не нарушена ли нормализация влево и, если нарушена, то устраняется. Если нормализация влево не нарушена, то проверяется наличие правой денормализации, и, если она есть, то устраняется. Левая денормализация возможна только на 1 разряд, а правая - на n (количество разрядов, на которое может быть нарушена нормализация вправо, ограничено только длиной разрядной сетки ЭВМ). После выполнения предельного числа сдвигов мантиссу результата представляют машинным нулем. Мантиссу результата представляют также машинным нулем, если в процессе ее сдвига порядок числа окажется меньше допустимого, т.е. абсолютная величина результата будет меньше, чем минимально возможное машинное число.

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

Пример 1.

[А]пр =0 101 1,10101;

[B]пр =0 011 0,11001; Найти С=А+В

порядок мантисса

[B’]пр =0 101 0,0011001;

К-во Просмотров: 381
Бесплатно скачать Реферат: Выполнение операций алгебраического сложения и сдвига в ЭВМ