кантрольная работа №1
.docxМинистерство образования Рэспублики Белорусь
«БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ»
Факультет заочного и дистанционного обучения
Факультет: НиДО
Специальность: ПОИТ
КОНТРОЛЬНАЯ РАБОТА №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.