Рефераты. Виконання операцій множення і ділення у двійковій системі числення

Рис. 3.4. Структурна схема модифікованого пристрою, що реалізує множення за методом 3

Приклад 3.5. Описати множення чисел А = 0, 11100 і В = 0, 10011, що реалізується модифікованим пристроєм.

Розв'язання. Для даних чисел маємо: =0; = 0, 11100; =0; = 0, 10011. Визначаємо знак добутку: =00=0. Послідовність дій, виконуваних у процесі множення, наведено в табл. 3.5.

Відповідь: С= 0,1000010100.

Метод 4. Якщо перетворити (3.1) за схемою Горнера до вигляду:

,

то множення зведеться до п-кратного виконання циклу:

для початкових значень .

У кожному циклі до суми часткових добутків додається або множене, якщо =1, або нуль, коли =0, після чого сума часткових добутків зсувається на один розряд вліво. Тобто множення починається зі старших розрядiв множника i зсувається сума часткових добутків вліво на один розряд в кожному циклi.

Таблиця 3.5 - Приклад множення з використанням модифікованого пристрою

Для реалізації даного методу множення потрібні (рис.3.5) п-розрядний регістр множеного РгА, п-розрядний регістр множника РгВ з колами для зсуву вліво, п схем І і 2п-розрядний нагромаджувальний суматор НСМ з колами для зсуву вліво. Тут множене завжди додається до п молодших розрядів суми часткових добутків.

Враховуючи те, що в кожному циклі в нагромаджувальному суматорі НСМ спочатку виконується додавання, а потім зсув коду, маємо такий час множення п-розрядних кодів за даним методом:

. (3.5)

Рис. 3.5. Структурна схема пристрою, що реалізує множення за методом 4

Приклад 3.6. Помножити числа А = 0, 10100 і В = 0, 10011, використовуючи метод 4.

Розв'язання. Для даних чисел маємо: =0; = 0, 10100; =0; = 0, 10011. Визначаємо знак добутку: =00=0. Послідовність дій, виконуваних у процесі множення, наведено у табл. 3.6.

Відповідь: С= 0, 0101111100.

Аналіз описаних методів множення і пристроїв, що їх реалізують показує таке.

Тривалість процесу множення за першим і другим методами менше, ніж за третім і четвертим, за рахунок суміщення у часі операцій додавання часткових добутків і зсувів множеного.

За кількістю апаратури перевагу варто віддати модифікованому пристрою, що реалізує третій метод множення.

Пристрій, що реалізує перший метод множення виявляється дуже не ощадливим за кількістю необхідної апаратури. Крім того, розряди суматора НСМ використовуються неефективно: у початкових циклах множення старші розряди зайняті увесь час "додаванням" нулів, наприкінці множення на молодші розряди надходять з регістра РгА нулі, тобто ніяких корисних операцій вони фактично не роблять.

Таблиця 3.6 - Приклад множення за методом 4

У той же час цей пристрій є вигідним з такої точки зору. До початку множення можна записати в суматор НСМ замість нуля яке-небудь інше число (скажемо, результат попереднього множення). Тоді в результаті множення можна одержати у суматорі НСМ замість добутку значення суми +. Це дозволяє легко організувати нагромадження суми парних добутків чисел . У модифікованому пристрої, що реалізує третій метод, цього зробити не можна, тому що в процесі множення початковий вміст суматора НСМ зсувається п раз управо.

На підставі вищевикладеного можна вважати найбільш зручними для застосування в ЦОМ пристрої, які реалізують перший і третій методи множення, що і підтверджується практикою розробки обчислювальних пристроїв.

3.2.2. Метод скороченого множення

Усі розглянуті методи множення забезпечують одержання добутку розрядністю 2п, не вносячи при цьому похибок у результат. Якщо послідовно буде виконуватись декілька операцій множення, то розрядність результатів буде значно збільшуватись. Тому після виконання операції множення, як правило, здійснюється округлення. Якщо висувається вимога, щоб похибки добутків не перевищували одиниці молодшого розряду (), то можна значно скоротити розрядність регістра множеного РгА і нагромаджувального суматора НСМ. У спеціалізованих машинах іноді реалізують метод скороченого множення, починаючи зі старших розрядів. Особливість цього методу полягає в тому, що одержуються п точних розрядів добутку з використанням розрядів у суматорі НСМ і регістрі РгА.

Кількість додаткових розрядів визначається виходячи з таких міркувань. Нехай і . Тоді, якщо всі , то

Припустимо, що всі розряди, які розташовані праворуч від вертикальної лінії, відкидаються. Якщо додавати тільки n розрядів, то вноситься похибка, тому що не враховуються перенесення з відкинутих розрядів у розряди, які розташовані ліворуч від лінії. Ці перенесення можуть поширитися на k розрядів ліворуч від лінії. Якщо всі , то кожен розряд дає одиницю перенесення і загальна кількість одиниць перенесень з відкинутої частини буде дорівнювати

.

Для досить великих значень n маємо: .

Одиниці перенесень поширяться на k розрядів суматора, і добуток буде містити тільки точних розрядів. Отже, щоб одержати результат з точністю до n розрядів, необхідно виділити розрядів у суматорі НСМ і регістрі РгА. Кількість додаткових розрядів k при цьому визначається за формулою:

. (3.6)

Нижче приведені результати розрахунку за (3.6) :

п

24

32

40

48

64

72

k

5

5

6

6

6

7

3.2.3. Множення обернених кодів чисел

Операцію множення найпростіше виконувати в прямих кодах чисел. Разом з тим застосування обернених кодів дозволяє істотно спростити операцію алгебричного додавання. Тому числа бажано зберігати в запам'ятовувальному пристрої в оберненому коді і множити також обернені коди. Розглянемо правила множення операндів, що представлені в оберненому коді.

Нехай множене А - будь-яке число, а множник B > 0, тобто А = [A]об і [В]об . Тоді

.

Згідно з теоремою про додавання обернених кодів можна стверджувати, що права частина цього співвідношення відповідає оберненому коду результату.

Розглянемо випадок, коли множене А - будь-яке число, а множник B < 0, тобто А=[A]об і [В]об . Виходячи з означення оберненого коду . Отже,

.

Тоді

.

Таким чином, у загальному випадку, добуток одержується відразу зі знаком.

Виходячи з розглянутих випадків, можна зробити такі висновки.

Дії, що виконуються під час множення обернених кодів, залежать від знаку множника.

Добуток обернених кодів співмножників дорівнює оберненому коду результату тільки у випадку додатного множника.

Якщо множник є від'ємним числом, то обернений код добутку одержується додаванням поправок і до добутку обернених кодів співмножників.

Оскільки поправки мають різну вагу, то послідовність їх додавання залежить від того, з яких розрядів множника починається множення (табл. 3.7).

Приклад 3.7. Помножити обернені коди чисел А = - 0, 10100 і В = 0, 10011, використовуючи метод 1.

Розв'язання. Для даних чисел маємо: [А]моб=11,01011; [В]об= 0,10011. Оскільки B>0, то поправки не додаються. Послідовність дій, що виконуються в процесі множення, подані у вигляді табл. 3.8.

Відповідь: [С]моб =11,1010000011; С= - 0, 0101111100.

Таблиця 3.7 - Послідовність додавання поправок для оберненого коду

Методи множення

Е т а п и

З молодших розрядів множника

Додавання

Множення за методом і додатковий зсув на один розряд після його завершення

Додавання

Зі старших розрядів множника

Додавання

Додатковий зсув на один розряд і після нього множення за методом

Додавання

Таблиця 3.8 - Перший приклад множення обернених кодів

Приклад 3.8. Помножити обернені коди чисел А = - 0,10100 і В = - 0, 10011, використовуючи метод 2.

Розв'язання. Для даних чисел маємо: [А]моб=11,01011; [В]об= 1,01100. Оскільки B<0, то додаються поправки. Послідовність дій, що виконуються в процесі множення, подані у вигляді табл. 3.9.

Таблиця 3.9 - Другий приклад множення обернених кодів

Відповідь: С= 0, 0101111100.

3.2.4. Множення доповняльних кодів чисел

У випадках, коли числа в машині зберігаються в доповняльних кодах, доцільно всі операції над числами робити на суматорі доповняльного коду. Однак при цьому під час множення виникає ряд особливостей, які необхідно враховувати. Тому розглянемо правила множення операндів, що представлені в доповняльному коді.

Нехай множене А - будь-яке число, а множник B > 0, тобто А = [A]д і [В]д . Тоді

.

Згідно з теоремою про додавання доповняльних кодів можна стверджувати, що права частина цього співвідношення відповідає доповняльному коду результату. Таким чином, у випадку додатного множника добуток доповняльних кодів співмножників дорівнює доповняльному коду результату.

Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.