Контрольная работа №1 Вариант №5
.docxУЧЕРЕЖДЕНИЕ ОБРАЗОВАНИЯ
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Факультет непрерывного и дистанционного обучения
Специальность: Программное обеспечение информационных технологий
КОНТРОЛЬНАЯ РАБОТА
ПО ОСНОВАМ КОМПЬЮТЕРНОЙ ТЕХНИКИ № 1
Вариант № 5
Лысенков Артём Степанович
Группа: 901022
Зачетная книжка: 901022-05
Электронный адрес: redpumka@gmail.com
-
Найти С1 = А + В, С2 = А - В, С3 = В - А, С4 = -А – В; А (+5493), В (+3275), использовать дополнительный код.
Решение:
Представим операнды в двоично-десятичной системе счисления:
А = +549310 = + 0101 0100 1001 00112-10;
В = +327510 = + 0011 0010 0111 01012-10;
Избавимся от операции вычитания и приведем заданные выражения к виду:
С1 = А + В, С2 = А + (-В), С3 = В + (-А), С4 = (-А) + (-В);
Представим операнды в прямом и дополнительном коде:
;
1.;
1.;
Используя модифицированный дополнительный код, найдем значения выражения для С1, С2, С3, С4:
Формирование С1 и С4, в выражениях которых в операции сложения принимают участие числа с одинаковыми знаками, осуществляется за счет сложения абсолютных значений операндов с последующим присвоением полученной суммы знака одного из операндов. Таким образом, для определения С1 и С4 выполним следующие действия:
*
00.0101 0100 1001 0011 - []мдк;
00.0011 0010 0111 0101 - []мдк;
00.1000 0111 0000 1000
0110 - коррекция в тетрадах, где был перенос;
00.1000 0111 0110 1000
;
С110 = + 8 7 6 8 (десятичный эквивалент);
;
С410 = - 8 7 6 8 (десятичный эквивалент);
С2 = А + (-В):
*
00.0101 0100 1001 0011 - [А]мдк;
11.1100 1101 1000 1011 - [-B]ик = [-B]дк+6;
00.0010 0010 0001 1110
1010 - коррекция в тетрадах, где не было переноса;
00.0010 0010 0001 1000
;
С210 = + 2 2 1 8 (десятичный эквивалент);
С3 = В + (-А):
*
00.0011 0010 0111 0101 - [В]мдк;
11.1010 1011 0110 1101 - [-А]ик = [-А]дк+6;
11.1101 1101 1110 0010
0110 - коррекция в тетрадах, где был перенос;
11.1101 1101 1110 1000
11.0010 0010 0001 1000 -
= 1.0010 0010 0001 1000;
С310 = - 2 2 1 8 (десятичный эквивалент);
Ответ: , ,
= 1.0010 0010 0001 1000, .
1.2. Выполнить операцию деления без восстановленного остатка над числами А и В, представленными с плавающей точкой. Использовать обратный код.
Переведем числа в двоичную систему счисления:
;
Сформируем прямой и обратный коды:
Найдем предварительное значение порядка частного:
С1п = ап – вп:
11.101 -
11.111 -
11.100
1
11.101 - = 1.010 - ;
Найдем предварительное абсолютное значение мантиссы частного за счет выполнения восьми тактов деления:
00.100100 -
11.011110 -
100.000010
1 - учет переноса при сложении в обратном коде;
00.000011 - положительный остаток первого такта;
00.000110 – сдвинутый остаток;
+11.011110 -
11.100100 - отрицательный остаток второго такта;
11.001001 – остаток после арифметического сдвига влево;
+00.100001 -
11.101010 - отрицательный остаток третьего такта;
11.010101 - остаток после арифметического сдвига влево;
+00.100001 -
11.110110 - отрицательный остаток после четвертого такта;
11.101101 – остаток после арифметического сдвига влево;
+00.100001 -
100.001110
1
00.001111 - положительный остаток пятого такта;
00.011110 – остаток после арифметического сдвига влево;
+11.011110 -
11.111100 - отрицательный остаток шестого такта;
11.111001 - остаток после арифметического сдвига влево;
+00.100001 -
100.011010
1
00.011011 – положительный остаток седьмого такта;
00.110110 – остаток после арифметического сдвига влево;
+11.011110 -
100.010100
1
00.010101 - положительный остаток восьмого такта;
00.101010 – остаток после арифметического сдвига влево;
Учитывая знаки остатков, полученные на восьми тактах, абсолютное предварительное значение мантиссы искомого частного равно:
с учетом округления:
Нормализуем мантиссу частного, сдвинув ее на один разряд вправо, а предварительное значение порядка частного увеличим на единицу.
Ответ: