Правила виконання арифметичних операцій в двійковій системі числення
Додавання. Операція додавання виконується так само, як і в десятковій системі. Переповнення розряду приводить до появи одиниці в наступному (вищому) розряді. Слід пам’ятати, що 0+0=0, 0+1=1, 1+1=10. Тоді: Віднімання. Оскільки більшість сучасних комп’ютерів має тільки один апаратний суматор, за допомогою якого реалізуються всі арифметичні операції, віднімання зводиться до додавання від’ємного числа. Алгоритм операції віднімання шляхом додавання додаткових кодів: 1) перетворити від’ємне число з форми зі знаком в додатковий код; 2) виконати операцію двійкового складання над всіма розрядами, включаючи знаковий, ігноруючи одиницю перенесення з найвищого розряду; 3) при рівності одиниці знакового розряду суми, що означає отримання від’ємного результату у формі додаткового коду, необхідно перетворити результат в знакову форму. Наприклад: 13-15=13+(-15) -1510=10001111→1110000+1→1110001→ 11100012
1310=000011012 11111110→0000001+1→100000102= -2. Таким чином, при виконанні операцій додавання і віднімання арифметико-логічному пристрою процесора доводиться виконувати порозрядне складання з перенесенням, інвертування і перевірку на знак двійкових чисел. У тих випадках, коли необхідно виконати арифметичні дії над числами, більшими за 127, вони розміщуються вже не в одному, а в двох і більше регістрах. Множення. Якщо разом з перерахованими операціями виконати операції зсуву, то за допомогою суматора можна виконати і множення, яке зводиться до серії повторних додавань. Якщо цифра в нульовій позиції множника дорівнює 1, то множене переписується під відповідними розрядами, множення на подальші одиниці приводять до зсуву доданку вліво на одну позицію. Якщо цифра множника дорівнює 0, то наступний доданок зміщується на дві позиції вліво. Це характерно і для десяткової системи числення. Наприклад: 1510 . 1310=19510=110000112. Врахуємо, що 1510=000011112, а 1310=000011012. Тоді виконаємо множення цих двійкових чисел: Ділене 111 на третьому кроці після додавання і знесення чергового розряду менше дільника, тому записуємо в результат 0 і зносимо ще один розряд з тих, що залишилися в діленому. Після третього кроку результат додавання дорівнює 0, ділення завершено. Відповідь: 000011012 = 1310.
|