Вычислительные машины,системы и сети

Автор работы: Пользователь скрыл имя, 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 файл

_РГР_отчет.doc

— 432.94 Кб (Скачать файл)

Лист



Часть №1

Задание 1. Выполнить арифметические действия, рассматривая операнды как ЧФЗ справа от МЗР в формате 1-го байта. Определить модуль результата. Формат результата – 2 байта.

  1. Выполним операцию сложения Z = X+Y = 15(10) + 33(10) = 48(10).

X = 15(10) = 0000 1111(2);

Y = 33(10) = 0010 0001(2).

Выполним  сложение в ПК:

Перенос (единицы)

X                                0000 1111


Y                                 0010 0001


Сумма(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) .

  1. Выполним операцию умножения Z = X*Y = 15(10)*33(10) = 495(10).

X = 18(10) = 0000 1111(2)

Y = 33(10) = 0010 0001(2).

Выполним операцию умножения младшими разрядами вперед:

Y=0010 0001


                                      0000 1111         P1

                                    0000 1111            сдвиг на 1 разряд вправо


                                      0000 0000          Р2м


                                     000001111          Сумма Р1+Р2

                                      0000001111               сдвиг на 1 разряд вправо


                                      00000000                  Р3


                                     0000001111             Сумма Р1+Р2+Р3

                                     00000001111              сдвиг на 1 разряд вправо


                                     00000000                      Р4


                                     00000001111            Сумма Р1+Р2+Р3+Р4

                                     000000001111            сдвиг на 1 разряд вправо


                                     00000000                      Р5


                                               000000001111               Сумма Р1+Р2+Р3+Р4+Р5

                                               0000000001111             сдвиг на 1 разряд вправо


                                               00001111                          Р6


                                               0000111101111            СуммаР1+Р2+Р3+Р4+Р5+Р6

                                               00000111101111

Последние 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

                                Х=0000*1111,0101                           порядок 4

Нормализуем х

Х=0,00111101

Преобразуем дробную часть Y, равную 0.15(10), в двоичное число

2*0,15=0,3                       0


0,3*2=0,6                         0

0,6*2=1,2                         1

0,2*2=0,4                         0

0,4*2=0,8                         0

0,8*2=1,6                         1

0,6*2=1,2                         1

0,2*2=0,4                         0

Таким образом, 0.15(10) = 0.00100110(2), a X = 33.15(10) =100001,00100110(2).

У=100001,00                        порядок = 6

Нормализуем У=0,1000101

Сложение

Х +У 

                   0,00111101


                    0,10000101


                     0,11000010

Проверка  1100002=25+24=32+16=48

                    0,10=0,5

  1. Выполним операцию вычитания Z = X-Y = 15.33(10) - 33.15(10) = -17.82(10).

Х =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  

                                        0,00111101


                                        1,01111011


                                        1,10111000

Z=0,10111000 переводим в обратный код все разряды кроме знакового

Zок=1,01000111

Переводим число в дополнительный код

Zдк=1,01001000

Проверка  Z=1,010010(2)=24+21=16+2=-18(10)

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


                                          00000000              Р1


                                          00000000  0          сдвиг на 1 разряд вправо


                                          00000000  0             Р2


                                          00000000  0            сумма Р1+Р2

                                          00000000  00         сдвиг  на 1 разряд вправо 


                                           11110101                 Р3


                                           11110101  00         сумма  Р1+Р2+Р3

                                           01111010  100      сдвиг на 1 разряд вправо

                    Следующие 4 нуля дадут сдвиг на 4 разряда вправо

                                          00000111  1010100


                                          11110101                    Р4


                                         11111100   1010100      сумма  Р1+Р2+Р3+Р4

                                            01111110    01010100 сдвиг на 1 разряд  вправо


                                         00000000                       Р5


                                         01111110    01010100 сумма Р1+Р2+Р3+Р4+Р5

                                                                      Результат

Сложим порядки  сомножителей

                       Рх    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


                                                        0001


                        Yдк        1100  1100  1111

                  Хпк     0001  0101  0011


                  Yдк     1100  1100  1111


                  Z’дк     1110  0010  0010

                                      1        1                 перенос

Отсутствие переноса из старшей тетрады является признаком того, что результат получился в ДК (т.е. отрицательный).

Перейдем к нескорректированному избыточному ПК:

 

                    Z’дк     1110  0010  0010

                    Zдк      0001  1101  1101


                                                   0001


                    Zпк      0001  1101  1110

Произведем коррекцию результата в соответствии с п. 5 алгоритма  выполнения операции вычитания двоично-десятичных чисел

               Zпк      0001  1101  1110


Коррекция       0000  1010  1010


               Z         0001  0111  1000

                                    1        1           переносы отбросить

Результат |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 


                                        Х=0001  0101  0011

                                  1(10)  0000  0000  0000            Р0=0


                                          0001  0101  0011            Р1(1-е част.произв.)


                                         0001  0101  0011           сумма Р0+ Р1

                                                   0000 0001  0101  0011 сдвиг вправо


                      3(10)           0001  0101  0011


                                       0001  0101  0011            Р2(2-е част.произв.)


                                       0001  0101  0011

                                          Сдвиг вправо


                                       0001  0101  0011                               


                  3(10)               0001  0101  0011            Р3(3-е част.произв.)

Информация о работе Вычислительные машины,системы и сети