Арифметичні дії над числами

Усі сучасні ЕОМ мають досить розвинуту систему команд, що включає десятки і сотні машинних операцій. Однак виконання будь-якої операції основано на використанні найпростіших мікрооперацій типу додавання і зсуву. Це дозволяє мати єдиний арифметико-логічний пристрій для виконання будь-яких операцій, які пов’язані з обробкою інформації. Правила додавання двійкових цифр двох чисел А і В подані в таблиці 16.4.

 

Таблиця 16.4 Правила додавання двійкових цифр

Значення i-х розрядів двійкових чисел А, В і переносу з попереднього розряду Pi-1 Розряд суми Si Перенос в наступний розряд Рi
аi bi Pi-1

 

Тут показані правила додавання двійкових цифр aі і bі однойменних розрядів з урахуванням можливих переносів з попереднього розряду Pі-1.

Операція додавання виконується в зворотному та додатковому кодах. Операція віднімання замінюється операцією додавання з від’ємним числом.

При виконанні операції додавання можливе переповнення розрядної сітки. Ознакою переповнення є відмінність знака отриманої суми від однакових знаків чисел, що складаються, тобто при додаванні двох позитивних чи двох негативних чисел. Для виявлення переповнення використовують модифікований код. У модифікованому коді під знак виділяються дві позиції. Знак позитивного числа кодується як 00, а негативного – як 11. Ознакою переповнення в модифікованому коді є відмінність цифр у знакових розрядах. Для усунення переповнення виконують нормалізацію мантиси.

Основні правила додавання двійкових чисел можна сформулювати так:

1. Операція віднімання змінюється операцією додавання з негативним числом.

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

3. Знакові розряди чисел беруть участь у додаванні так само, як і значущі.

4. Необхідні перетворення кодів виконуються зі зміною знаків чисел. Приписані незначущі нулі змінюють своє значення при перетвореннях за загальним правилом.

5. При утворенні одиниці переносу зі старшого знакового розряду, у випадку використання зворотного коду (ЗК) , ця одиниця складається з молодшим числовим розрядом. При використанні додаткового (ДК) одиниця переносу губиться. Знак результату формується автоматично, результат подається в тому коді, у якому подані вхідні доданки.

6. Знак суми виходить автоматично в процесі підсумовування вмісту знакових розрядів чисел і одиниці переносу, якщо вона є, із значущої частини числа.

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