Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Нормализация результата



Пример 39. Найти сумму чисел A=0,1000∙2-3 и B=-0,1011∙2-3, если мантисса и порядок обрабатываются на сумматорах дополнительного кода (пять разрядов для мантиссы и четыре разряда для порядка).

Сначала записываются машинные значения операндов:

[mA]с=0,1000, [pA]с=1 101,

[mB]с=1,0101, [pB]с=1 101.

А затем мантиссы складываются:

+0,1000

1,0101

[mC]с =1,1101,

Т.е. mC=-0,0011, т.е. мантиссу нужно сдвинуть на 2 разряда влево, при этом порядок уменьшив на 2, что равносильно сложению порядка с -10 (в дополнительном коде 1 110).

Т.е. mC=-0,1100, [pС]с=+1 101

1 110

[pC]с =11 011,

Теперь мантисса удовлетворяет условию нормализации и результат равен

mC=-0,1100, pC=-101.

Т.е. С=-0,1100∙2-5.

Пример 40. Найти сумму чисел A=-0,1100∙24 и B=-0,1000∙24, если числа складываются на сумматоре обратного кода (пять разрядов для мантиссы и четыре разряда для порядка).

Сначала записываются машинные значения операндов:

[mA]i=1,0011, [pA]i=0 100,

[mB]i=1,0111, [pB]i=0 100.

Затем мантиссы складываются: +1,0011

1,0111

+ 10,1010

_____1,

[mC]i= 0,1011

Здесь произошло переполнение (знак суммы не совпадает со знаком двух операндов), и, следовательно, нарушение нормализации справа. Значит, требуется сдвиг мантиссы результата вправо (сдвигаем первоначальный результат 10,1010). Т.е. mC=-0,1010. При этом порядок увеличивется на 1.

Т.е. mC=-0,1010, [pС]i=+0 100

1

[pC]i =0 101,

Теперь мантисса удовлетворяет условию нормализации и результат равен

mC=-0,1010, pC= 101.

Т.е. С=-0,1010∙25.

Пример 41. Сложить числа A=0,1011∙2-2 и B=-0,1001∙2-3 на сумматоре обратного кода (пять разрядов для мантиссы и четыре разряда для порядка).

Сначала записываются машинные значения операндов и определим, какой из порядков больше:

[mA]i=0,1011, [pA]i=1 101,

[mB]i=1,0110, [pB]i=1 100.

[Δp]i=[pA]i-[pB]i=[pA]i+[-pB]i.

-pB=3, [-pB]i=0 011.

Следовательно, [Δp]i =[pA]i+[-pB]i=1 101 + 0 011 = 0 001. Так как величина Δp положительна, то pA> pB. Следовательно, надо сдвинуть мантиссу числа B вправо на количество разрядов, равное Δp, т.е. на один разряд [mB]i=1,1011 (знак числа сохраняется). Теперь порядки операндов равны.

Затем мантиссы складываются: +0,1011

1,1011

+ 10,0110

_____1,

[mC]i= 0,0111

Осуществим нормализацию мантиссы и сдвиг порядка.

Т.е. [mC]i= 0,1110, +1 101

1 110

11 011,

____1

[pC]i =1 100

Так как нарушений нормализации нет, то получен окончательный результат С=0,1110∙2-3.

Пример 42. Сложить числа A и B, заданные в форме с фиксированной запятой:

mA=100110; pA=101; mB=-111001; pB=011.

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

Запишем машинные значения операндов и определим, какой из порядков больше:

[mA]с=0 100110, [pA]с=0 101,

[mB]с=1 000111, [pB]с=0 011.

Сравним порядки:

[Δp]с=[pA]с-[pB]с=[pA]с+[-pB]с.

-pB=-3, [-pB]с=1 101.

Следовательно, [Δp]с =[pA]с+[-pB]с=0 101 + 1 101 = 0 010. Разность порядков положительна: второй порядок меньше первого на 2. Следовательно, мантисса второго числа сдвигается на два разряда вправо и после этого мантиссы складываются. [mB]с=1 110001 (знак числа сохраняется).

+0 100110

1 110001

[mC]с=10 010111

Осуществим нормализацию мантиссы и сдвиг порядка.

Т.е. [mC]с= 0 101110,

+0 101

1 111

[pC]с =10 100,

Так как нарушений нормализации нет, то получен окончательный результат С=+101110, pC=100.

Задания.

Сложить числа с плавающей запятой на сумматоре обратного кода (пять разрядов для мантиссы и четыре разряда для порядка).

1) A=0,1100∙2-4 и B=-0,1010∙2-5;

2) A=0,1000∙2-2 и B=-0,1011∙2-4;

3) A=-0,1100∙2-3 и B=-0,1110∙2-2;

4) A=0,1001∙2-7 и B=-0,1111∙2-4;

5) A=-0,1101∙2-3 и B=-0,1101∙2-5;

6) A=0,1011∙2-2 и B=0,1110∙2-5.

 




©2015 studopedya.ru Все права принадлежат авторам размещенных материалов.