Мегаобучалка Главная | О нас | Обратная связь


VI . Умножение двоично-десятичных чисел.



2019-12-29 639 Обсуждений (0)
VI . Умножение двоично-десятичных чисел. 0.00 из 5.00 0 оценок




 

Задание №1 Выполнить умножение старо-русским методом удвоения – деления пополам. Результат проверить. В качестве операндов взять целую часть чисел А и В, представив их в кодах с естественными весами.

 

 


Алгоритм умножения заключается в удвоении на каждом шаге множимого, что равносильно сдвигу его на один разряд влево, и делению пополам множителя, что равносильно сдвигу его на один разряд вправо. Шаги повторяются, пока множитель не станет равным нулю.

При сдвиге двоично-десятичных чисел (код 8-4-2-1) на один разряд как влево так и вправо необходима коррекция. При сдвиге влево коррекция производится точно так же, как и при сложении, то есть при появлении неправильных тетрад или единицы переноса из тетрады осуществляется прибавление к данной тетраде корректирующего кода 0110. При сдвиге вправо корректирующий код образуется как разница между математическим результатом деления двоичной тетрады пополам (16/2=8) и фактическим (10/2=5), 8-5=310=0011. Эту разницу нужно вынести из тетрады, в которой образовалась единица переноса. Таким образом, корректирующий код будет 310=-00112=1101ДК.

 

А = 35610 

В = 72310

А = 0011.0101.01108-2-4-1    - множитель

В= 0111.0010.00118-2-4-1     - множимое

                                                

 

Множитель Множимое Произведение
0011.0101.0110 0001.1010.1011    11 01 1101                  0001.0111.1000 0000.1011.1100    . 1101 .1101 0000.1000.1001     0000.0100.0100            0000.0010.0010     0000.0001.0001     0000.0000.1000              1101 0000.0000.0101  0000.0000.0010   0000.0000.0001                  0000.0000.0000.0111.0010.0011 0000.0000.0000.1110.0100.0110                     0110       0000.0000.0001.0100.0100.0110 0000.0000.0010.1000.1000.1100                                     0 110 0000.0000.0010.1000.1001.0010     0000.0000.0101.0001.0010.0100                       0110 011 0 0000.0000.0101.0111.1000.0100 0000.0000.1010.1111.0000.1000              0110 0110 0110   0000.0001.0001.0101.0110.1000 0000.0010.0010.1010.1101.0000                       0110 0110 0110 0000.0010.0011.0001.0011.0110     0000.0100.0110.0010.0110.1100                                0 11 0 0000.0100.0110.0010.0111.0010     0000.1000.1100.0100.1110.0100         0110          0110. 0000.1001.0010.0101.0100.0100 0001.0010.0100.1010.1000.1000     0110      0110. 0001.1000.0101.0000.1000.1000                                                                              0000.0000.0000.0000.0000.0000 0000.0000.0000.0000.0000.0000 0000.0000.0010.1000.1001.0010 0000.0000.0010.1000.1001.0010     0000.0000.0010.1000.1001.0010 0000.0010.0011.0001.0011.0110 0000.0010.0101.1001.1100.1000                          0110 0000.0010.0101.1010.0010.1000 0000.0010.0101.1010.0010.1000 0000.0 100 . 0110 .0 010 .0 111.0 0 1 0 0000.0110.1011.1100.1001.1010              0110 0110       0110 0000.0111.0010.0010.1010.0000     0000.0111.0010.0010.1010.0000 0001.1000.0101. 0000. 1000.1000 0001.1111.0111.0011.0010.1000    0110              0110             0010.0101.0111.0011.1000.1000                        2 5  7  3  8    8   Сдвиг Корр   Сдвиг Корр   Слож   Сдвиг Корр   Сдвиг Корр   Сдвиг Корр   Слож   Корр   Сдвиг Корр   Слож   Корр   Сдвиг Корр   СдвигКорр Слож   Корр

 

 

                                                                        

 

 

А*B =  0010.0101.0111.0011.1000.10008-2-4-1 = 257.38810 

Проверка:

35610*72310 = 257 38810

 

 


 

Задание №2 Выполнить умножение двоично-кодированных десятичных чисел методом десятично-двоичного разложения множителя. Результат проверить.

 


Метод основан на преобразовании множителя в виде суммы произведений десятичных чисел на степень двойки. Множитель представляется в коде 8-4-2-1. Особенностью преобразованного множителя является то, что десятичное число состоит только из символов 0 и 1, а слагаемых в нём не более четырёх. Каждое из четырёх частичных произведений получают последовательно сдвигом множимого на требуемое количество десятичных разрядов (тетрад) с подсуммированием и коррекцией. Умножение же на степень двойки равносильно сдвигу влево на 1 разряд с введением коррекции.

 

А2-10 = 0011.0101.01108-2-4-1   -множимое

В2-10 = 0111.0010.00118-2-4-1   - множитель

Преобразование множителя:

 B2-10 = 0111. 0010.00118-2-4-1 = (0*23 + 1*22 + 1*21 + 1*20)*102 + (0*23 + 0*22 + 1*21 + 0*20)*101+ (0*23 + 0*22 + 1*21 + 1*20)*100 = (000)*23+(100)*22+(111)*21 +(101)*20

A2-10=0011.0101.01108-2-4-1   

           

0000.0011.0101.1001.0101.0110

Множитель (преобраз.)

Множимое

Произведение

 

 

 

100*22

*100 0000.0011.0101.0110.0000.0000

 

*21 0000.0110.1010.1100.0000.0000

 

Корр.              0110.0110

 

  0000.0111.0001.0010.0000.0000

 

*22 0000.1110.0010.0100.0000.0000

 

корр     0 1 10

 

    0001.0100.0010.0100.0000.0000

0001.0100.0010.0100.0000.0000

 

*1 *10 0000.0000.0000.0011.0101.0110              0011.0101.0110.0000

 

 

  0000.0000.0011.1000.1011.0110

 

 

Корр                                011 0

111*21

11= 0000.0000.0011.1001.0001.0110

 

 

+100 0000. 00 11 . 0101 . 0110.0000.0000

 

 

Корр 0000.0011.1000.1111.0001.0110                       0110

 

 

111= 0000.0011.1001.0101.0001.0110

 

 

*21 0000.0111.0010.1010.0010.1100

 

 

корр              0110 0110     0110

 

 

  0000.0111.1001.0000.0011.0010

0000.0111.1001.0000.0011.0010

101

*100 *1   0000.0011.0101.0110.0000.0000 0000.0000. 0000 . 00 11 . 0101 . 0110 0000.0011.0101.1001.0101.0110

 

 

 

    Сложение   коррекция

0001.0100.0010.0100.0000.00000000.0111.1 00 1 . 0 0 00.0011.0010

0001.1011.1011.0100.0011.0010

    0110 0110                    

 

     

сложение

0010.0010.0001.0100.0011.0010

0000.0011.0101.1001.0101.01100010.0101.0110.1101.1000.1000

 

  коррекция

                  0110

   

0010.0101.0111.0011.1000.1000

2  5  7  3  8  8

 

           

 

A*B=0010.0101.0111.0011.1000.10008-2-4-1 = 257 38810

 

Проверка: A*B =35610*72310 = 257 38810

 

 


Список используемой литературы

1.Фадеева Т.Р., Долженкова М.Л. Организация арифметических операций над двоичными  числами. – Киров: Изд-во ВятГУ, 2001. – 40 с.

2. Конспекты лекций по дисциплине «Информатика».

 

 



2019-12-29 639 Обсуждений (0)
VI . Умножение двоично-десятичных чисел. 0.00 из 5.00 0 оценок









Обсуждение в статье: VI . Умножение двоично-десятичных чисел.

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Почему человек чувствует себя несчастным?: Для начала определим, что такое несчастье. Несчастьем мы будем считать психологическое состояние...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (639)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.007 сек.)