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

кантрольная работа №1

.docx
Скачиваний:
25
Добавлен:
01.04.2014
Размер:
25.91 Кб
Скачать

Министерство образования Рэспублики Белорусь

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

ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»

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

Факультет: НиДО

Специальность: ПОИТ

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

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

Вариант № 15

Студент_1_ курса:

Групы №

Зачетная книжка №

Email:

Минск, 2012

Задание 1.1

Найти значение выражений С1 = А + В, С2 = А – В, С3 = В – А,

С4 = - А – В, используя модифицированный дополнительный код, если

А10 = + 8788, В10 = - 99.

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

Решение.

Избавляясь от операции вычитания, приводим заданные выражения к виду:

С1 = А + В, С2 = А + (- В), С3 = В + (- А), С4 = - А + (- В).

Прямой двоично-десятичный код заданных чисел имеет вид:

;

;

;

;

;

:

Модифицированный инверсный и дополнительный двоично-десятичный код заданных чисел имеет вид:

;

;

;

.

Расчет выражений для С1, С2, С3, С4 осуществляется следующим образом.

С1 = А + В:

* *

00.1000 0111 1000 1000 -

11.1111 1111 0110 0111 -

00.1000 0110 1110 1111

1010 1010 - коррекция

00.1000 0110 1000 1001

+ 8 6 8 9 - С110 (десятичный эквивалент).

Формирование С2 и С3, в выражениях которых в операции сложения принимают участие числа с одинаковыми знаками, осуществляется за счет сложения абсолютных значений операндов с последующим присвоением полученной суммы знака одного из операндов.

Таким образом, для определения С2 и С3 выполняются следующие действия:

:

* *

00.1000 0111 1000 1000 -

00.0000 0000 1001 1001 -

00.1000 1000 0010 0001

0110 0110 - коррекция

00.1000 1000 1000 0111 –

+ 8 8 8 7 - С210 (десятичный эквивалент)

- 8 8 8 7 - С310 (десятичный эквивалент)

С4 = - А + (- В):

* *

11.0111 1000 0111 1000 -

00.0000 0000 1001 1001 -

11.0111 1001 0001 0001

0110 0110 - коррекция

11.0111 1001 0111 0111

- 8 6 8 9 - С410 (десятичный эквивалент)

Ответ: , ,

, .

Задание 1.2

Найти произведение С чисел А и В, представленных с плавающей точкой, используя обратный код, если А и В представлены в виде порядков, соответственно [ап] и [вп] и мантисс, соответственно [ам] и [вм], где

п] = - 210, [ам] = + 0,5610,

п] = 010, м] = - 0,5110.

При умножении мантисс использовать метод умножения, начиная со старшего разряда множителя со сдвигом множителя.

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

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

Решение.

Переведем числа в двоичную систему счисления, учитывая, что разрядность модуля порядка должна быть равна 3, разрядность модуля мантиссы – 6:

:

0,56 * 2 = 1,12 (int(0,56 * 2) = 1 и DF (rest(0,56 * 2) = 0.12)

0,12 * 2 = 0,24 (int(0,12 * 2) = 0 и DF (rest(0,12 * 2) = 0,24)

0,24 * 2 = 0,48 (int(0,24 * 2) = 0 и DF (rest(0,24 * 2) = 0,48)

0,48 * 2 = 0,96 (int(0,48 * 2) = 0 и DF (rest(0,48 * 2) = 0,96)

0,96 * 2 = 1,92 (int(0,96 * 2) = 1 и DF (rest(0,96 * 2) = 0,92)

0,92 * 2 = 1,84 (int(0,92 * 2) = 1 и DF (rest(0,92 * 2) = 0,84)

0,84 * 2 = 1,68 (int(0,84 * 2) = 1 и DF (rest(0,84 * 2) = 0,68)

:

0,51 * 2 = 1,02 (int(0,51 * 2) = 1 и DF (rest(0,51 * 2) = 0,02)

0,02 * 2 = 0,04 (int(0,02 * 2) = 0 и DF (rest(0,02 * 2) = 0,04)

0,04 * 2 = 0,08 (int(0,04 * 2) = 0 и DF (rest(0,04 * 2) = 0,08)

0,08 * 2 = 0,16 (int(0,08 * 2) = 0 и DF (rest(0,08 * 2) = 0,16)

0,16 * 2 = 0,32 (int(0,16 * 2) = 0 и DF (rest(0,16 * 2) = 0,32)

0,32 * 2 = 0,64 (int(0,32 * 2) = 0 и DF (rest(0,32 * 2) = 0,64)

0,64 * 2 = 1,28 (int(0,64 * 2) = 1 и DF (rest(0,64 * 2) = 0,28)

.

Таким образом:

;

;

; .

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

Учитывая то, что при умножении мантисс может произойти нарушение нормализации, найдем предварительное значение порядка и мантиссы искомого произведения.

Предварительное значение порядка произведения определим следующим образом:

сп= а п + в п:

11.101 -

00.000 -

11.101 -

1.010 -

Абсолютное значение предварительного значения мантиссы произведения определяется как произведение мантисс операндов (:

0.100100 -

0.100001 -

000000 – начальное значение частичного произведения

+ 100100 – 1-й старший разряд равен единице

100100 – формирование частичного произведения

+ 000000 – 2-й старший разряд равен нулю

1001000 – формирование частичного произведения

+ 000000 – 3-й старший разряд равен нулю

10010000 – формирование частичного произведения

+ 000000 – 4-й старший разряд равен нулю

100100000 – формирование частичного произведения

+ 000000 – 5-й старший разряд равен нулю

1001000000 – формирование частичного произведения

+ 100100 – 6-й старший разряд равен единице

10010100100 – абсолютное значение предварительного значения мантиссы

произведения

010010100100 - сдвинутое значение предварительного значения мантиссы произведения

Таким образом, с учетом округления имеем:

Мантисса произведения ненормализованная, поэтому необходимо сдвинуть мантиссу влево на один разряд, а предварительное значение порядка произведения уменьшить на единицу. После нормализации окончательное значение мантиссы и порядка произведения имеем с учетом ранее полученного знака:

[cм]пк = 1.100110

[cп]пк = 1.011

Ответ: [cм]пк = 1.100110, [cп]пк = 1.011.