Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Вычислительные машины и системы Вар № 22.docx
Скачиваний:
10
Добавлен:
01.04.2014
Размер:
253.58 Кб
Скачать

Вариант № 22

Задание 1.1. Найти значений С1, С2, С3, С4, определяемые выражениями:

С1 = А+В, С2 = А-В, С3 = В- А+, С4 =- А -В, где, согласно варианту, А=-451, В+6631. При выполнении вычислении использовать двоично-десятичный обратный код.

Решение:

Представим числа A, -A, B, -B в обратном коде. Если число отрицательное в знаковый разряд минус, все остальные разряды инвертируются. Если число положительное в знаковые разряд ноль, остальные такие же, как в прямом коде.

- 0 4 5 1

[A]пк(-451)= 1.0000 0100 0101 0001

[A]ок = 1.1111 1011 1010 1110

+ 0 4 5 1

[-A]пк(+451)=0. 0000 0100 0101 0001

[-A]ок =0. 0000 0100 0101 0001

+ 6 6 3 1

[B]пк(6631)=0.0110 0110 0011 0001

[B]ок = 0. 0110 0110 0011 0001

- 6 6 3 1

[-B]пк(-6631)=1. 0110 0110 0011 0001

[-B]ок =1.1001 1001 1100 1110

C1=A+B=-451+6631=6180

* * *

1.1111 1011 1010 1110 [A]ок

0.0110 0110 0011 0001 [В]ок

10.0110 0001 1101 1111 +1

0.0110 0001 1110 0000 в первой тетраде возник перенос

1010 в тетрада где не было переноса -6

0. 0110 0001 1000 0000- [C1]пк во всех тетрадах разрешенные комбинации,

+ 6 1 8 0 - [C1]10 следовательно коррекция не требуется

C2=A-B=-451-6631=-7082

* * * *

1.1111 1011 1010 1110 [A]ок

1.1001 1001 1100 1110 [-В]ок

11. 1001 0101 0111 1100 +1

1. 1001 0101 0111 1101

1. 0110 1010 1000 0010 преобразуем в прямой код

0110 если в тетраде запрещенная комбинация прибавляем 6

1. 0111 0000 1000 0010 - [C2]ПК

- 7 0 8 2 -[ C2]10

C3=-A+B=451+6631=7082

0. 0000 0100 0101 0001 [-A]ок

0. 0110 0110 0011 0001 [В]ок

0.0110 1010 1000 0010

0110 коррекция +6 где запрещенные комбинации

0. 0111 0000 1000 0010 - [C3]ПК

+ 7 0 8 2 - [С3]10

C4=-A-B=451-6631=-6180

*

0. 0000 0100 0101 0001 [-A]ок

1. 1001 1001 1100 1110 [-В]ок

1. 1001 1110 0001 1111

0110 в тетрада где был перенос +6

1. 1001 1110 0111 1111 [C4]ок

1. 0110 0001 1000 0000 [C4]ПК

- 6 1 8 0 [C4]10

Задание 1.2. Выполнить операцию деления без восстановления остатка над числами А и В, представленными с плавающей точкой. А {ап =+3 (порядок А), ам = 0.9 (мантисса А)}; В{bп = -1 (порядок B), bм =0.55 (мантисса B)}. Использовать двоичный дополнительный код. При выполнении задания порядки и мантиссы операндов А и В необходимо представить в двоичной системе счисления и сформировать для них прямые коды. Разрядность модуля порядка должна быть равна 3, разрядность модуля мантиссы - 6 . Результат (порядок и мантисса) должен быть представлен в прямом коде в нормализованной форме.

Решение:

Результат вычисления С=А-В. Представим мантиссу и порядок чисел Аи В в двоичном прямом и дополнительном коде.

п]пк=0.011

п]дк=0.011

ам = 0.9

Мантисса А в двоичном виде:

2|9

1|8

1|6

1|2

0|4

0|8

1|6

[|aм|]мдк=00.111001

bп = -1

[bп]пк=1.001

[bп]дк=1.111

[-bп]дк=0.001

bм = 0.55

Мантисса В в двоичном виде:

2|55

1|10

0|20

0|40

0|80

1|60

1|20

[|bм|]ПК =00.100011

[|bм|]мдк =00.100011

[-|bм|]мдк=11.011101

Знак модуля результата деления определяется суммирование знаков модулей А и В и См{зн}= Aм{зн}+ Bм{зн}=0+0=0.

Порядок результата определяется как разность ап и bп:

0.011

+ 0.001

0.100 [Cп]пк

Определяемый разряда

частного

Выполняемые

действия

Пояснение действий

Значение очередного разряда частного

1 р. (разряд целой части) -1-й такт

00.111001

+11.011101

100.011110

00.111100

вычитание из абсолютного значения делимого абсолютное значение делителя; остаток >0 (перенос игнорируется)

сдвинутый остаток

1

2 р. (старший разряд модульной части) - 2-й такт

+11.011101

100.011001

00.110010

Вычитание |В|, т.к остаток>0

сдвинутый остаток

1

3 р. - 3-й такт

+11.011101

100.001111

00.011110

Вычитание |В|, т.к остаток>0

сдвинутый остаток

1

4 р. - 4-й такт

+11.011101

11.111011

11.110110

Вычитание |В|, т.к остаток>0

сдвинутый остаток

0

5 р. - 5-й такт

+00.100011

100.011001

00.110010

Прибавление |В|, т.к остаток<0

сдвинутый остаток

1

6 р - 6-й такт

+11.011101

100.001111

00.011110

Вычитание |В|, т.к остаток>0

сдвинутый остаток

1

7 р. - 7-й такт

+11.011101

11.111011

11.110110

Вычитание |В|, т.к остаток>0

сдвинутый остаток

0

8 р - 8-й такт

+00.100011

100.011001

Прибавление |В|, т.к остаток<0

1

Предварительное значение частного от деления А на В:

[Cм*]пк=0. 1.1101101

[Cп*]пк=1.100

Так как в результате деления возникло нарушение нормализации, модуль частного сдвигаем на один разряд вправо, а предварительное значение порядка увеличиваем на единицу. С учетом округления:

[Cм]пк=0. 111011

1.100 [Cп*]дк

+0.001 +1

1.101 [Cп]ДК

1.011 [Cп]пК