- •Тема 1. Системи числення. Правила переведення цілих та дробових чисел з однієї сч в іншу сч
- •Тема 2. Подання інформації в електронно-обчислювальних машинах.
- •Тема 3. Арифметичні операції в двійковій сч. Додавання і віднімання чисел.
- •Тема 4. Двійкова сч. Виконання операцій множення
- •4.2. Множення чисел представлених у формі з фіксованою комою на двійковому суматорі прямого коду
- •4.3. Особливості множення чисел представлених у формі з плаваючою комою
- •4.4. Множення чисел, представлених у формі з фіксованою комою, на двійковому суматорі доповняльного коду
- •4.5. Множення чисел на двійковому суматорі оберненого коду
- •Тема 5. Арифметичні операції в двійково-десяткових сч
- •Тема 6. Логічні основи цифрових автоматів
- •Тема 7. Елементарні функції алгебри логіки. Функціонально-повні системи логічних функцій
- •Тема 8. Форми представлення функцій алгебри логіки
- •Тема 9. Методи мінімізації булівських функцій
- •Тема 10. Логічні елементи та їх класифікація
- •Тема 11. Базові комбінаційні вузли цифрових автоматів
- •Тема 12. Синтез дешифраторів та шифраторів
- •Тема 13. Синтез мультиплексора та демультиплексора
- •Тема 14. Синтез суматорів
- •Тема 15. Синтез тригерів
- •Тема 16. Синтез лічильників
4.4. Множення чисел, представлених у формі з фіксованою комою, на двійковому суматорі доповняльного коду
У випадках, коли числа в машині зберігаються в додаткових кодах, доцільно всі операції над числами виробляти на суматорі додаткового коду. Однак при цьому виникає ряд особливостей, які необхідно враховувати.
Добуток доповняльних кодів співмножників дорівнює доповняльному коду результату тільки у випадку позитивного множника.
Нехай множимое А - будь-яке число, тобто А = [А]д, а множник В> 0. Тоді
АВ = [А]д∙0,b1,b2…bn=[А]д∙b1∙2-1+[А]д∙b2∙2-2+…+[А]д∙bn∙2-n (4.6)
На підставі теореми про складання додаткових кодів можна стверджувати, що в правій частині рівняння (5.6) стоїть доповняльний код результату.
Таким чином, множення на суматорі додаткового коду полягає в аналізі розрядів множника і при b1 = 1 в додаванні доповняльного коду множимого до вмісту суматора.
При цьому повинні здійснюватися модифіковані зрушення.
Приклад 4.3. Помножити на суматорі додаткового коду (використовується метод 2) числа А = -0,10101 і В = 0,1001.
Розвязок: Спочатку записуються машинні зображення чисел: = 11,01011;= 00,10011.
Послідовність дій, вироблених над числами, представлена в табл. 5.3.
Відповідь: С = АВ = - 0,0110001111.
Тепер розглянемо випадок, коли множимое А - будь-яке число, а множник В <0. Тоді [В] д = 1,,….
На підставі (3.24) можна записати, що В = [В]д – 2, або В=0,,…. Отже, добуток чисел
АВ=А(0,,…)=А∙0,,… – А.
(4.7)
Таблиця 4.3
Сумматор |
Регістр B |
Примітка |
00,00000 + 11,01011 ------------ 11,01011
11,10101 + 11,01011 ------------ 11,00000
11,10000 11,11000 ------------ 11,11100 + 11,01011 |
10011
→11001
→01100 →00110
→00011 |
СМ: = 0; РгА: = ; РгВ: = [В']; b5=1; СМ = [СМ] + [РгA];
[]; []; b4=1; СМ:=[СМ] +[РгF]; []; [];
b3 = 0; []; []; b2 = 0; []; []; b1 = 1; СМ:= [СМ] + [РгA] []; [];
Кінець |
11,00111 11,10011 |
0001 →10001 |
Формула (4.7) показує, що при негативному множнику добуток доповняльних кодів операндів не дорівнює доповняльному коду результату.
Якщо ввести заміну – А на , то можна вивестинаступне правило.
Якщо множник негативний, то добуток чисел на суматорах доповняльного коду виходить додаванням поправки [A] до добутку додаткових кодів співмножників.
Приклад 4.4. Помножити на суматорі додаткового коду за методом 2 з використуванням структурної схеми прикладу 5.1 числа
А = - 0,10111 і В = - 0,11001.
Розвязок: Спочатку запишемо машинні зображення чисел:
=11,01001; = 11,00111;= 00,10111.
Послідовність дій, вироблених над числами, показана в табл. 4.4.
Відповідь: С = АВ = 0,1000111111.
Таблиця 4.4
Суматор |
Регістр B |
Примітка |
00,00000 + 11,01011 ------------ 11,01011
11,10101 + 11,01011 ------------ 11,00000
11,10000 11,11000 ------------ 11,11100 + 11,01011 |
10011
→11001
→01100 →00110
→00011 |
СМ: = 0; РгА: = ; РгВ: = [В']; b5=1; СМ = [СМ] + [РгA];
[]; []; b4=1; СМ:=[СМ] +[РгF]; []; [];
b3 = 0; []; []; b2 = 0; []; []; b1 = 1; СМ:= [СМ] + [РгA] []; [];
Кінець |
11,00111 11,10011 |
0001 →10001 |
Таким чином, на суматорі доповняльного коду в процесі множення машинних зображень операндів отримуємо одночасну знакову і цифрову частини добутку.