Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

ОКТ. Контрольная работа №1. Вариант 14

.doc
Скачиваний:
40
Добавлен:
01.04.2014
Размер:
1.95 Mб
Скачать

УЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ

БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ

Факультет заочного, вечернего и дистанционного обучения

Специальность: программное обеспечение

информационных технологий

КОНТРОЛЬНАЯ РАБОТА

ПО ОСНОВАМ КОМПЬЮТЕРНОЙ ТЕХНИКИ № 1

Вариант № 14

Контрольная работа № 1.

Вариант № 14.

Задание 1

Задание 1 состоит из двух частей:

  • задание 1.1, относящееся к разделу «Арифметика с алгебраическими числами»;

  • задание 1.2, относящееся к разделу «Арифметика с плавающей точкой».

Задание 1.1

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

С1 = А+В,

С1 = А−В,

С1 = В− А,

С1 = − А −В

При выполнении задания операнды А и В необходимо представить в двоично-десятичной системе, сформировать для них прямые коды и, используя заданный код в варианте по правилам двоично-десятичной арифметики, описанной в разделе «Арифметика с алгебраическими двоично-десятичными числами», найти значения С1, С2, С3, С4.

Результат должен быть представлен в прямом коде.

Дано:

Операнд А

Операнд В

Код, используемый при выполнении задания: обратный

Решение:

С1 = А+В

С2 = А − В = A + (−B)

С3 = В − А = B + (−A)

С4 = − А – В = (−A) + (−B)

A = =

= 11. 0001 0101 0001 1000

= = 11. 1110 1010 1110 0111

= = 00. 0001 0101 0001 1000

B = =

= = 00. 0011 0110 0010 1000

= 11. 0011 0110 0010 1000

= = 11. 1100 1001 1101 0111

С1 = А+В

С1 = 11. 1110 1010 1110 0111 −

+ 00. 0011 0110 0010 1000

100. 0010 0001 0000 1111

+ 1 – учёт переноса при

суммировании обратных кодов

00. 0010 0001 0001 0000 -

+ 1010 – коррекция в тетрадах, где не

было переноса

00. 0010 0001 0001 1010 -

− 1010 – коррекция в тетрадах, где числа

больше 1001

  1. 0010 0001 0001 0000 - =

+ 2 1 1 0 −

С2 = А − В

|C2| = 00.0001 0101 0001 1000 − [|A|]

+ 00.0011 0110 0010 1000 − [|B|]

00.0100 1011 0100 0000 − [|C2|]

+ 0110 0110 + 6

00.0101 0001 0100 0110 −

5 1 4 6 −

+ 5 1 4 6 −

С3 = В − А

|C3| = 00.0001 0101 0001 1000 − [|A|]

+ 00.0011 0110 0010 1000 − [|B|]

00.0100 1011 0100 0000 − [|C3|]

+ 0110 0110 + 6

00.0101 0001 0100 0110 −

5 1 4 6 −

+ 5 1 4 6 −

С4 = − А – В = (−A) + (−B)

С4 = 0. 0001 0101 0001 1000 −

+ 1. 1100 1001 1101 0111

1. 1101 1110 1110 1111 −

1. 0010 0001 0001 0000 −

− 2 1 1 0 −

Задание 1.2

Задание предполагает выполнение заданной операции над числами А и В, представленными с плавающей точкой.

При выполнении задания порядки и мантиссы операндов А и В, заданные в таблице, необходимо представить в двоичной системе счисления и сформировать для них прямые коды. Разрядность модуля порядка должна быть равна 3, разрядность модуля мантиссы - 6 .

Результат (порядок и мантисса) должен быть представлен в прямом коде в нормализованной форме.

Дано:

A

B

код

опер.

порядок

мантисса

порядок

мантисса

знак

абс.знач.

знак

абс.знач.

знак

абс.знач.

знак

абс.знач.

2

+

0.65

+

2

0.51

доп.

+

1

10

0

.101011

0

10

1

.100001

Решение:

= 1.010

= 0.1010011 ≈ 0.101011

= 0.010

= 1.1000001 ≈ 1.100001

= 1.110

= 0.101010

= 0.010

= 1.011111

11.110

+ 00.010

100.000 разность порядков в ДК

00.000 разность порядков в ПК

=> мантиссы не сдвигаем

= +

00.101010

+ 11.011111

100.001001

00.110111

Таким образом, мы получили нормализованную мантиссу − старший разряд мантиссы равен единице.

С1  { = 0.000, = 11.110111}