Автор работы: Пользователь скрыл имя, 27 Ноября 2012 в 13:53, реферат
Задание 1. Выполнить арифметические действия, рассматривая операнды как ЧФЗ справа от МЗР в формате 1-го байта. Определить модуль результата. Формат результата – 2 байта.
Выполним операцию сложения Z = X+Y = 15(10) + 33(10) = 48(10).
X = 15(10) = 0000 1111(2);
Y = 33(10) = 0010 0001(2).
Лист
Часть №1
Задание 1. Выполнить арифметические действия, рассматривая операнды как ЧФЗ справа от МЗР в формате 1-го байта. Определить модуль результата. Формат результата – 2 байта.
X = 15(10) = 0000 1111(2);
Y = 33(10) = 0010 0001(2).
Выполним сложение в ПК:
Перенос (единицы)
X 0000 1111
Y
Сумма(X+Y) 0011 0000
Результат: Z = 0011 0000(2) = 48(10) .
2. Выполним операцию вычитания Z = X-Y = 15(10) – 33(10) = -18(10).
X = 15(10) = 0000 1111(2); ПК
Быстрый перевод
Y = 33(10) = 1010 0001(2). ПК (-)
Y = 33(10) = 1101 1111(2) ДК
0000 1111
1101 1111
1110 1110
Вычислим результат, преобразовав его из ДК в ПК:
1110 1110(2) ДК
1001 0001(2) Инверсия всех разрядов, кроме знакового
1
1001 0010(2) (ПК)=-18(10)
Результат: Z = 1001 0010(2) = -18(10) .
X = 18(10) = 0000 1111(2);
Y = 33(10) = 0010 0001(2).
Выполним операцию умножения младшими разрядами вперед:
Y=0010 0001
Последние 2 нуля дают сдвиг вправо на 2 разряда
После сдвига получим 0000000111101111(2)=495(10)
Задание 2. Выполнить арифметические действия, рассматривая операнды как ЧПЗ с основанием 2 в следующем формате: несмещенный порядок – 4 бита, мантисса – 8 бит. Формат результата – тот же. Округление производить после приведения операнда к нормализованной форме. Результат нормализовать.
X = 15.33(10); Y = 33.15(10).
• Преобразуем дробную часть Х, равную 0.33(10), в двоичное число:
2*0,33=0,66 0
2*0,66=1,32 1
2*0,32=0,64 1
2*0,64=1,28 1
2*0,28=0,56 0
2*0,56=1,12 1
2*0,12=0,24 0
2*0,24=0,48 0
Таким образом, 0.33(10) = 0.01010100(2), a X = 15.33(10) = 00001111.01010100(2).
Представим X в формате ЧПЗ, округлив значение мантиссы до 8 разрядов (ненормализованное число):
Х=1111,01010100
Нормализуем х
Х=0,00111101
Преобразуем дробную часть Y, равную 0.15(10), в двоичное число
2*0,15=0,3
0,3*2=0,6
0,6*2=1,2
0,2*2=0,4
0,4*2=0,8
0,8*2=1,6
0,6*2=1,2
0,2*2=0,4
Таким образом, 0.15(10) = 0.00100110(2), a X = 33.15(10) =100001,00100110(2).
У=100001,00
Нормализуем У=0,1000101
Сложение
Х +У
0,00111101
0,10000101
0,11000010
Проверка 1100002=25+24=32+16=48
0,10=0,5
Х =15,33(10)=1111,01010100(2)
Y=33,15(10)=100001,00100110(2)
Нормализуем числа Х и Y
Х =0,00111101
Y=0,10000101
Порядок чисел -0100
Переводим Y в ДК
Yдк=1,01111011
знаковый разряд равен 1, значит число
отрицательное
Х + Y
1,01111011
Z=0,10111000 переводим в обратный код все разряды кроме знакового
Zок=1,01000111
Переводим число в дополнительный код
Zдк=1,01001000
Проверка Z=1,010010(2)=24+21=16+2=-18(
3. Выполним операцию умножения Z = X*Y =15,33*33,15= 508,1895
Х=15,33(10)=1111,01010100(2)
У=33,15(10)=100001,00100110
Перемножим мантиссы сомножителей (вариант умножения младшими разрядами вперед):
Нормализуем числа
qx=0,11110101
qy=0,10000100
Следующие 4 нуля дадут сдвиг на 4 разряда вправо
Сложим порядки сомножителей
Рх 0011
Ру 0110
Рх+Ру 1001
Результат: Z = 1001 * 0.11111100(2) = 29 * 0,984375 (10) = 504(10).
Задание 3. Выполнить арифметические действия над операндами, представив их в двоично-десятичном коде.
1. Выполним операцию сложения Z=X+Y= 153(10) + 331(10) = 484(10).
X = 153(10) = 0001 0101 0011(2-10); Y = 331(10) = 0011 0011 0001(2-10).
0001 0101 0011 Х
0011 0011 0001 У
0100 1000 0100 Z’
Перед сложением операнды выравниваются по крайней правой тетраде. Теперь надо к Z’ добавить избыток (6(10)):
Z’ 0100 1000 0100
Избыток 0110 0110 0110
Z’6 1010 1110 1010 нескорр. избыточное Z
Z’6 1010 1110 1010
коррекция 1010 1010 1010
Z 0100 1000 0100
1 1 1 отбросить
Результат Z=0100 1000 0100(2-10) =484(10)
2. Выполним операцию вычитания Z = X – Y = 153(10) – 331(10) = -178(10).
X = 153(10) = 0001 0101 0011(2-10); Y = 331(10) = 0011 0011 0001(2-10).
Представим |Y| в ДК с избытком 6:
Yок 1100 1100 1110
Yдк 1100 1100 1111
Хпк 0001 0101 0011
Yдк 1100 1100 1111
Z’дк 1110 0010 0010
Отсутствие переноса из старшей тетрады является признаком того, что результат получился в ДК (т.е. отрицательный).
Перейдем к
Z’дк 1110 0010 0010
Zдк 0001 1101 1101
Zпк 0001 1101 1110
Произведем коррекцию
Zпк 0001 1101 1110
Коррекция 0000 1010 1010
Z 0001 0111 1000
Результат |Z|= 0001 0111 1000
Поскольку ранее результат получался в ДК, т.е. отрицательный, необходимо добавить знак (-).
Результат: Z = - ( 0001 0111 1000)(2-10) = -178(10).
3. Выполним операцию умножения Z = X * Y = 153(10) * 331(10) = 50643(10)
X = 153(10) = 0001 0101 0011(2-10); Y = 331(10) = 0011 0011 0001(2-10).
Для решения примера выберем вариант перемножения "младшие разряды вперед". В соответствии с п. 1 алгоритма полагаем сумму частичных произведений P0=0. (Частичные произведения будем обозначать Pi).
Y= 0011 0011 0001
3(10) 0001 0101 0011
3(10) 0001 0101 0011 Р3(3-е част.произв.)