Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР по АиЛОВТ Вариант №31.doc
Скачиваний:
112
Добавлен:
01.04.2014
Размер:
792.06 Кб
Скачать

Задание 1.3

Представить двоичные числа А и В в форме с плавающей запятой.

Решение

A(2)=1010011,00110=0,10100110011010111

где [Aм]=00.101001100110 – мантисса числа,

п]=00.111 – порядок числа.

B(2)=11000,1010011=0,11000101001110101

где [Bм]=00.110001010011 – мантисса числа,

[Bп]=00.101 – порядок числа.

Задание 1.4

Просуммировать эти числа в дополнительном и обратном кодах для всех случаев сочетания знаков слагаемых (А>0; В>0) (А<0; B>0) (А>0; В<0) (А<0; В<0). Обратить внимание на случаи переполнения и денормализации результата, для которых порядок суммы должен быть изменен после нормализации результата.

[Aм]=00.101001100110 – мантисса числа А,

п]=00.111 – порядок числа А.

[Bм]=00.110001010011 – мантисса числа В,

[Bп]=00.101 – порядок числа В.

Пусть C1=A+B, С2=(–А)+(В), С3=А+(–В); С4=(–А)+(–В).

Решение

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

Дополнительный код

Для суммирования выполним выравнивание порядков.

Для этого из порядка первого числа вычтем порядок второго:

п]ДК 00.111

[–Вп]ДК 11.011

п]ДК– [Вп]ДК 100.010 разность порядков в ДК

п]ПК– [Вп]ПК 0.010 разность порядков в ПК

Т.к. разность порядков положительна, в качестве общего порядка берется порядок числа А. Тогда порядок числа В необходимо увеличить на 10 и выполнить арифметический сдвиг его мантиссы на два разряда вправо. То после выравнивания получим следующие мантиссы операндов в ПК:

м’]ПК=0.101001100110

м’]ПК=0.001100010100

1) А>0; В>0

м’]ДК=00.101001100110

м’]ДК=00.001100010100

[C1м’]=

00.101001100110 [Ам’]ДК

+ 00.001100010100 м’]ДК

00.110101111010 [С1м’]ДК

00.110101111010 [С1м’]ПК

С1={[C1п]ПК=00.111, [С1м]ПК=00.110101111010}

2) А<0; B>0

м’]ДК=11.010110011010

м’]ДК=00.001100010100

[C2м’]=

11.010110011010 [–Ам’]ДК

+ 00.001100010100 м’]ДК

11.100010101110 [С2м’]ДК

-0.011101010010 [С2м’]ПК

С2={[C2п]ПК=00.111, [С2м]ПК=-0,011101010010}

3) А>0; В<0

м’]ДК=00.101001100110

м’]ДК=11.110011101100

[C3м’]=

00.101001100110 [Ам’]ДК

+ 11.110011101100 [–Вм’]ДК

100.011101010010 [С3м’]ДК

00.011101010010 [С3м’]ПК

С3={[C3п]ПК=00.111, [С3м]ПК=0,011101010010}

4) А<0; В<0

м’]ДК=11.010110011010

м’]ДК=11.110011101100

[C4м’]=

11.010110011010 [–Ам’]ДК

+ 11.110011101100 [–Вм’]ДК

111.001010000110 [С4м’]ДК

- 0.110101111010 [С4м’]ПК

С4={[C4п]ПК=00.111, [С4м]ПК=-0,110101111010}

Обратный код

Для суммирования выполним выравнивание порядков.

Для этого из порядка первого числа вычтем порядок второго:

п]ОК 00.111

[–Вп]ОК + 11.010

100.001

+ 1 корректировка

п]ДК– [Вп]ДК 00.010 разность порядков в ОК

п]ПК– [Вп]ПК 00.010 разность порядков в ПК

Т.к. разность порядков положительна, в качестве общего порядка берется порядок числа А. Тогда порядок числа В необходимо увеличить на 10 и выполнить арифметический сдвиг его мантиссы на два разряда вправо. То после выравнивания получим следующие мантиссы операндов в ПК:

м’]ПК=0,101001100110

м’]ПК=0,001100010100

1) А>0; В>0

м’]ОК=0.101001100110

м’]ОК=0.001100010100

[C1м’]=

00.101001100110 [Ам’]ОК

+ 00.001100010100 м’]ОК

00.110101111010 [С1м’]ОК

00.110101111010 [С1м’]ПК

С1={[C1п]ПК=00.111, [С1м]ПК=0,110101111010}

2) А<0; B>0

м’]ОК=11.010110011001

м’]ОК=00.001100010100

[C2м’]=

11.010110011001 [–Ам’]ОК

+ 00.001100010100м’]ОК

11.100010101101 [С2м’]ОК

-0.011101010010 [С2м’]ПК

С2={[C2п]ПК=00.111, [С2м]ПК=-0,011101010010}

3) А>0; В<0

м’]ОК=00.101001100110

м’]ОК=11.110011101011

[C3м’]=

00.101001100110 [Ам’]ОК

+ 11.110011101011 [–Вм’]ОК

100.011101010001 [С3м’]ОК

+ 1 корректировка

00.011101010010 [С3м’]ОК

00.011101010010 [С3м’]ПК

С3={[C3п]ПК=00.111, [С3м]ПК=0,011101010010}

4) А<0; В<0

м’]ДК=11.010110011001

м’]ДК=11.110011101011

[C4м’]=

11.010110011001 [–Ам’]ОК

+ 11.110011101011 [–Вм’]ОК

111.001010000100 [С4м’]ОК

+ 1 корректировка

11.001010000101 [С4м’]ОК

- 0.110101111010 [С4м’]ПК

С4={[C4п]ПК=00.111, [С4м]ПК=-0,110101111010}