Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
5_Алг_комп_множ_в_ ДК_2.doc
Скачиваний:
3
Добавлен:
21.12.2018
Размер:
432.64 Кб
Скачать

5.2. Алгоритми множення в доповняльному коді з

обробкою знакових розрядів

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

1. Нехай , тоді . Такий варіант не відрізняється від множення додатних операндів без врахування знаків.

2. , тоді , a псевдодобуток . Правильний добуток за цим варіантом повинен бути записаний як . Звідси випливає . Для одержання правильного результату і його знака до псевдодобутку необхідно додати доповняльний код числа -2Х.

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

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

Зауважимо, що при множенні в доповняльному коді за кожним з варіантів другої групи в процесі додавання С до дуже важливо дотримувати відповідність ваг розрядів псевдодобутку і коригувальної поправки. Це викликано тим, що псевдодобуток , отриманий за правилами множення чисел у прямому коді, містить розряди (- довжина числової частини операндів), з яких два старших розряди відносяться до розрядів з цілими вагами, але не мають змісту знакових розрядів. (Зміст цих розрядів неможливо визначити, тому що цифри в них є результатом підсумовування часткових добутків, що складаються, у свою чергу, з розрядних добутків трьох різних типів: а) цифр числової частини операндів, б) знакових цифр на "числові" цифри операндів, в) тільки знакових цифр). Обумовлена ж шляхом додавання-віднімання і, можливо, зсуву коригувальна поправка С має лише один розряд з цілою вагою, цифра в якому дійсно є знаковою цифрою. Тому в процесі корекції рівноважні розряди в і С слід визначати, орієнтуючись на положення коми.

Приклад 2. Скласти цифрову діаграму множення чисел і в доповняльному коді з обробкою знакових розрядів і корекцією в кінці операції (табл.2). Операцію множення виконати з використанням першого основного алгоритму.

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

Таблиця 2

ЛЧК

Пояснення

0 101 0

1 1001

0 000000000

000

Вихідний стан

0 010 1

0 000000000

001

Зсув

1 1001

1 100100000

Результат підсумовування

0 001 0

0 110010000

010

Зсув

0 000 1

0 011001000

011

Зсув

1 1001

1 111101000

Результат підсумовування

0 000 0

0 111110100

100

Зсув

0 110000000

, корекція

1 101110100

Результат корекції

Таким чином тобто, .

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]