- •Тема 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.5. Множення чисел на двійковому суматорі оберненого коду
Розглянемо правила множення операндів, заданих у оберненому коді.
Добуток обернених кодів співмножників дорівнює оберненому коду результату тільки у випадку позитивного множника.
Нехай множене А = [А]об, а множник В> 0. Тоді
АВ = [A]об ∙ 0, b1b2…bn=[A]обb1∙2-1+[A]обb2∙2-2+…+[A]обbn∙2-n
По теоремі про складання обернених кодів у правій частині даного рівняння виходить обернений код результату.
Отже, множення на суматорі зворотного коду також полягає в аналізі розрядів множника, і якщо виявляється, що черговий розряд множника дорівнює одиниці, то до вмісту суматора додається обернений код множеного.
Приклад 4.5. Помножити на суматорі зворотного коду (структурна схема взята з прикладу 4.1) числа А = -0,10011 і В = 0,11001.
Розвязок. Спочатку записуються машинні зображення чисел:
= 11,01100; = 00,11001.
Послідовність виконуваних дій над числами представлена в табл. 4.5.
Відповідь: = 11.1000100100; С = АВ =- 0,0111011011.
Таблиця 4.5
Суматор |
Регістр 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 |
Нехай Л = [А]об і В <0. Тоді [В]об = 1, b1b2…bn.
[В]об = 2+В-2-n. Отже, B = 0, b1b2…bn +2-n-1.
AB = [А]об∙0, b1b2…bn+[А]об∙2-n+ (4.8)
На підставі (4.8) можна сформулювати правило:
Якщо множник від’ємний, то добуток чисел на суматорі оберненого коду виходить додаванняс поправок [Л] і [А]об∙2- п до добутку обернених кодів співмножників.
Приклад 4.6. Помножити на суматорі зворотного коду (використовується метод 2 і структурна схема з прикладу 4.1) числа
А = -0,110101 і В = - 0,101000.
Розвязок. Спочатку записуються машинні зображення чисел:
= 11,001010; = 11,010111;= 00,110101.
Послідовність дій, вироблених над числами, показана в табл. 4.6.
Відповідь: AB = 00, 100010.
Таблиця 4.6
Суматор |
Регістр 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 |
Таким чином, у загальному випадку на суматорі зворотного коду добуток виходить відразу зі знаком і довжиною в n розрядів, так як на останньому кроці множення додаються числа різних знаків, через що не можна до результату приписати так званий «хвіст», що зберігається в регістрі множника