Кр№1, вар. 13
.docxУЧРЕЖДЕНИЕ ОБРАЗОВАНИЯ
БЕЛОРУССКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ
ИНФОРМАТИКИ И РАДИОЭЛЕКТРОНИКИ
Факультет: НиДО
Специальность: ПОИТ
КОНТРОЛЬНАЯ РАБОТА №1
по ОСНОВАМ КОМПЬЮТЕРНОЙ ТЕХНИКЕ
Вариант № 13
Выполнил студент:
Группа:
Зачетная книжка:
Электронный адрес:
Минск 2011
Задание 1.1
Найти двоично-десятичные значения C1, C2, C3, C4, определяемые соответственно выражениями:
С1= А+В, С2=А-В, С3= В-А, С4=-А-В, используя модифицированный дополнительный код,
если
А = +669 и B = +8788.
Результат представить в прямом коде.
Решение.
Сформируем для заданных чисел прямой, модифицированный дополнительный и инверсный код.
[A]пк = 0.0000 0110 0110 1001
[B]пк = 0.1000 0111 1000 1000
[A]мдк = 00.0000 0110 0110 1001
[B]мдк = 00.1000 0111 1000 1000
[-A]пк = 1.0000 0110 0110 1001
[-B]пк = 1.1000 0111 1000 1000
[-A]мик = 11.1111 1001 1001 0111
[-B]мик = 11.0111 1000 0111 1000
Абсолютные значения операндов имеют вид:
[|A|]пк = 0.0000 0110 0110 1001
[|B|]пк = 0.1000 0111 1000 1000
Формирование С1 и С4, в выражениях которых в операции сложения принимают участие числа с одинаковыми знаками, осуществляется за счет сложения абсолютных значений операндов с последующим присвоением полученной суммы знака одного из операндов.
Таким образом, для определения С1 и С4 выполняются следующие действия:
С1 = С4:
00.0000 0110 0110 1001 - [|A|]пк
00.1000 0111 1000 1000 - [|B|]пк
00.1000 1101 1111 0001
0110 0110 0110 - коррекция
00.1001 0100 0101 0111 - С1 = С4
Таким образом,
[С1]пк = 0.1001 0100 0101 0111
С110 = + 9 4 5 7
[С4]пк = 1.1001 0100 0101 0111
С410 = - 9 4 5 7
[С2]пк = А + (-В):
00.0000 0110 0110 1001 - [A]мдк
11.0111 1000 0111 1000 - [-B]мик = [-B]мдк + 6
11.0111 1110 1110 0001
0110 - коррекция
11.0111 1110 1110 0111
[С2]пк = 1.1000 0001 0001 1001
С210 = - 8 1 1 9
[С3]пк = В + (-А):
00.1000 0111 1000 1000 - [B]мдк
11.1111 1001 1001 0111 - [-A]мик
00.1000 0001 0001 1111
1010 - коррекция
00.1000 0001 0001 1001
[С3]пк = 0.1000 0001 0001 1001
С310 = + 8 1 1 9
Ответ: [С1]пк = 0.1001 0100 0101 0111, [С2]пк = 1.1000 0001 0001 1001, [С3]пк = 0.1000 0001 0001 1001, [С4]пк = 1.1001 0100 0101 0111.
Задание 1.2
Задание предполагает выполнение заданной операции над числами А и В, представленными с плавающей точкой.
При выполнении задания порядки и мантиссы операндов А и В необходимо представить в двоичной системе счисления и сформировать для них прямые коды. Разрядность модуля порядка должна быть равна 3, разрядность модуля мантиссы - 6 .
Результат (порядок и мантисса) должен быть представлен в прямом коде в нормализованной форме.
При выполнении операций использовать обратный код. При умножении мантисс использовать метод умножения, начиная с младшего разряда множителя со сдвигом множителя.
Решение.
Найти произведение С чисел А и В, представленных с плавающей точкой, если А и В представлены в виде порядков, соответственно [Ап]пк и [Вп]пк и мантисс, соответственно [Ам] пк и [Вм] пк, где
[Ап]пк = , [А м]пк = ,
[Вп]пк = , [В м]пк= .
Переведем числа в двоичную систему счисления, учитывая, что разрядность модуля порядка должна быть равна 3, разрядность модуля мантиссы – 6:
При преобразовании дробных чисел, учитывая округление, найдем предварительный двоичный эквивалент с семью разрядами:
0.7 * 2 = 1.4 (int(0.7 * 2) = 1 и DF (0.7 * 2) = 0.4);
0.4 * 2 = 0.8 (int(0.4 * 2) = 0 и DF(rest (0.4 * 2) = 0.8);
0.8 * 2 = 1.6 (int(0.8 * 2) = 1 и DF(rest (0.8 * 2) = 0.6);
0.6 * 2 = 1.2 (int(0.6 * 2) = 1 и DF(rest (0.6 * 2) = 0.2);
0.2 * 2 = 0.4 (int(0.2 * 2) = 0 и DF(rest (0.2* 2) = 0.4);
0.4 * 2 = 0.8 (int(0.4 * 2) = 0 и DF(rest(0.4 * 2) = 0.8);
0.8 * 2 = 1.6 (int(0.8 * 2) = 1 и DF(rest(0.8 * 2) = 0.6).
С учетом округления:
.
0.9 * 2 = 1.8 (int(0.9 * 2) = 1 и DF(0.9 * 2) = 0.8);
0.8 * 2 = 1.6 (int(0.8 * 2) = 1 и DF(0.8 * 2) = 0.6);
0.6 * 2 = 1.2 (int(0.6 * 2) = 1 и DF(0.6 * 2) = 0.2);
0.2 * 2 = 0.4 (int(0.2 * 2) = 0 и DF(0.2 * 2) = 0.4);
0.4 * 2 = 0.8 (int(0.4 * 2) = 0 и DF(0.4 * 2) = 0.8);
0.8 * 2 = 1.6 (int(0.8 * 2) = 1 и DF(0.8 * 2) = 0.6);
0.6 * 2 = 1.2 (int(0.6 * 2) = 1 и DF(0.6 * 2) = 0.2).
С учетом округления:
.
Представим числа в модифицированном обратном коде:
Знак искомого произведения, представляемого знаком его мантиссы, отрицательный, так как знаки мантисс сомножителей неодинаковые.
Предварительное значение порядка произведения определяется посредством суммирования порядков сомножителей (Сп =А п + В п):
00.010 -
11.101 -
11.111 -
0.000 -
Абсолютное значение предварительного значения мантиссы произведения определяется как произведение мантисс операндов (:
00.101101 -
00.111010 -
000000 - начальное значение частичного произведения
000000 - 1-й младший разряд равен нулю
000000 - формирование частичного произведения
101101 - 2-й младший разряд равен единице
1011010 - формирование частичного произведения
000000 - 3-й младший разряд равен нулю
01011010 - формирование частичного произведения
101101 - 4-й младший разряд равен единице
111000010 - формирование частичного произведения
101101 - 5-й младший разряд равен единице
10010010010 - формирование частичного произведения
101101 - 6-й младший разряд равен единице
101000110010 - результат произведения
Таким образом, с учетом округления имеем:
= 00.101001.
.
При формировании мантиссы произведения нормализованных чисел с плавающей точкой возможен только один вид нарушения нормализации - нарушение нормализации справа от точки с появлением нуля только в старшем разряде мантиссы.
Таким образом, в мантиссе произведения нормализация не нарушена.
Запишем окончательное значение мантиссы и порядка произведения, с учетом ранее полученного знака:
;
.
Ответ: ,