3. АЛГОРИТМИ ВИКОНАННЯ АРИФМЕТИЧНИХ ОПЕРАЦІЙ НАД ДВІЙКОВИМИ ЧИСЛАМИ ІЗ ЗНАКОМ
Додавання двійкових чисел із знаком
Очевидно, що при додаванні чисел із знаком можуть виникати переноси одиниці із старшого розряду модуля суми до знакового розряду (домовимося позначати його Р1) та із знакового розряду – ліворуч за межі розрядної сітки, у розряд переповнення (Р2). Через використання розглянутих раніше кодів, у яких знак числа позначається тими ж цифрами, що і розряди модуля, переповнення розрядної сітки може виникати навіть у випадку додавання чисел із різними знаками, коли модуль результату не перевищує модуля будь-якого операнда. При додаванні ж двох від’ємних чисел перенесення одиниці до розряду переповнення відбувається завжди.
При виникненні переповнення розрядної сітки для одержання правильного результату додавання необхідно застосовувати таке правило:
· якщо Р1 Å Р2 = 0, одиниця в розряді переповнення ігнорується (відкидається);
· якщо Р1 Å Р2= 1, необхідно зсунути число на один розряд праворуч (або зсунути позицію точки на один розряд ліворуч).
Додавання дробових і цілих двійкових чисел, поданих у формі з фіксованою комою, відбувається однаково, тобто порядок додавання не залежить від розташування коми. Тому операцію додавання розглянемо на прикладі додавання цілих чисел.
Приклади:
1) Додавання двох додатніх чисел (без переповнення розрядної сітки).
0.100111 | 39 |
+ 0.001101 | +13 |
0.110100 | 52 |
Р1Å Р2 = 0 – результат коректний і остаточний.
2) Додавання двох додатніх чисел (з переповненням розрядної сітки).
0.01101 | 13 |
+ 0.10011 | +19 |
1.00000 | 32 |
Р1 Å Р2 = 1. Результат некоректний, тому що відбулося переповнення розрядної сітки. Зсуваючи число на один розряд праворуч, остаточно маємо 0.100000(ПК) = 32(10).
3) Додавання двох чисел із різними знаками (без переповнення розрядної сітки)
1.001100 | - 52 |
+ 0.001101 | + 13 |
1.011001 | - 39 |
Р1 Å Р2 = 0. Результат коректний, але тому що він є від’ємним, для перевірки правильності розв’язання необхідно перетворити його у прямий код. Остаточно маємо 1.100111(ПК) = 39(10).
4) Додавання двох чисел, рівних за модулем і різних за знаком.
1.011001 | - 39 |
+ 0.100111 | + 39 |
10.000000 | 0 |
Р1Å Р2 = 0. Результат коректний, якщо не брати до уваги одиницю у розряді переповнення.
Додавання двох від’ємних чисел виконується аналогічно прикладам 1, 2 (у залежності від значення виразу Р1 Å Р2. Тому що результат у цьому випадку завжди від’ємний, для перевірки правильності розв’язання необхідно перетворити його у прямий код, аналогічно прикладу 3.
Висновки:
· Правильність виконання операцій додавання обов'язково повинна перевірятися шляхом аналізу значення виразу Р1Å Р2, щоб уникнути одержання некоректного результату, що виникає при переповненні розрядної сітки, при цьому: якщо Р1 Å Р2 = 0, одиниця в розряді переповнення ігнорується (відкидається); якщо Р1Å Р2 = 1, необхідно зсунути число на один розряд праворуч.
· Правило перевірки коректності результату додавання двійкових чисел також можна сформулювати в такий спосіб: якщо знак операндів однаковий, а знак суми протилежний, результат є некоректним. При додаванні двох операндів із різними знаками результат завжди коректний, якщо не брати до уваги одиницю у розряді переповнення.
Множення і ділення двійкових чисел із фіксованою комою
Множення двійкових чисел завжди виконують у прямому коді. Знак добутку визначають по знакових розрядах множників згідно з таким загальновідомим правилом: якщо знаки операндів однакові, то знак добутку – позитивний; у протилежному випадку – знак добутку негативний.
Знак добутку двох чисел не впливає на алгоритм виконання операції множення модулів цих чисел.
Часто використовують спосіб множення, процедура якого аналогічна процедурам множення вручну. У цьому випадку результат одержують додаванням часткових добутків. Кожний частковий добуток удвічі перевищує попередній, що відповідає його зсуванню ліворуч на один розряд. Наприклад:
1101 х 1011 1101 1101 + 0000 1101 10001111 | 13 х 11 13 + 13 143 |
Характерно, що розрядність добутку двійкових чисел удвічі перевищує розрядність співмножників. Якщо у множенні беруть участь мантиси, тобто правильні дроби, то молодші розряди, що виходять за межі розрядної сітки, можуть бути відкинуті без округлення або з округленням.
Операція ділення також виконується способом, аналогічним застосовуваному при діленні вручну, що наочно ілюструє приклад ділення двох чисел 506 : 23 = 22, тобто 0.111111010 : 0.10111 = 0.10110. Знак частки визначають аналогічно знаку добутку. Застосоване при діленні віднімання дільника виконують шляхом додавання його додаткового коду.
0. | 1 | 1 | 1 | 1 | 1 | 1 | 0 | 1 | 0 | ділене додатнє | ||||
1. | 0 | 1 | 0 | 0 | 1 | перше віднімання дільника | ||||||||
1 | 1 | 0 | 0. | 1 | 0 | 0 | 0 | 1 | 1 – результат додатній | |||||
1. | 0 | 1 | 0 | 0 | 1 | – друге віднімання дільника | ||||||||
0 | 1 | 1. | 1 | 0 | 1 | 0 | 0 | 0 – від’ємний результат | ||||||
0. | 1 | 0 | 1 | 1 | 1 | – додавання дільника | ||||||||
1 | 1 | 0 | 0. | 1 | 0 | 1 | 1 | 1 | 1 – результат додатній | |||||
1. | 0 | 1 | 0 | 0 | 1 | – третє віднімання дільника | ||||||||
1 | 1 | 0 | 0. | 0 | 0 | 0 | 0 | 1 – остача дорівнює нулю | ||||||
0 |
У даному прикладі використаний так названий алгоритм без відновлення остачі, що передбачає таку послідовність дій:
· із діленого віднімається дільник (додається дільник, записаний у додатковому коді);
· якщо остача додатня, перша цифра частки дорівнює одиниці, у протилежному випадку – 0;
· остача зсувається ліворуч, і до неї додається дільник із знаком, зворотним знаку остачі;
· знак наступної остачі визначає наступну цифру частки;
· ці дії повторюють доти, поки не утвориться необхідне число розрядів частки або нульова остача.
Слід зазначити, що оскільки даний алгоритм передбачає додавання чисел (остач і дільника) тільки з протилежними знаками, то всі розряди проміжних сум, старші за знаковий, слід ігнорувати.
Виконання арифметичних операцій у пристроях із «плавучою» комою
Операція додавання у пристроях із «плавучою» комою відбувається у чотири етапи:
1.Порівнюються порядки доданків: менший порядок збільшується до більшого. При цьому відповідним чином корегується мантиса числа, яке перетворюється.
2.Виконується перетворення мантис у додаткові коди.
3.Виконується додавання мантис за правилами, розглянутими вище для чисел із фіксованої комою.
4.До суми приписується порядок доданків і, в разі необхідності, виконується нормалізація результату.
Операція множення чисел, поданих у формі з «плавучою» комою також виконується у чотири етапи:
1.Визначається знак добутку.
2.Перемножуються мантиси співмножників за правилами для чисел із фіксованої комою.
3.Обчислюється порядок добутку алгебраїчним додаванням порядків співмножників за правилами додавання цілих чисел із знаком.
4.Виконується нормалізація отриманого результату у випадку її необхідності.
Ділення чисел у пристроях із «плавучою» комою виконується так само, як і множення.
Висновок:
· Операція віднімання в обчислювальних пристроях завжди заміняється операцією додавання з числом зворотного знаку (доповненням модулю від'ємника).
· Операції множення і ділення в обчислювальних пристроях подаються у послідовності операцій додавання і зсування.
Таким чином, виконання всіх арифметичних операцій в обчислювальних пристроях зводиться до виконання типових послідовностей елементарних операцій – основної операції додавання і додаткових операцій інвертування кодів і зсування. Ці операції виконуються в спеціальному функціональному вузлі, що має назву арифметичного пристрою.
... "ВНІЇЕМ-3", а також надшвидкодіюча БЕСМ-6 з продуктивністю 1 млн операцій в секунду. 2.3 Третє покоління комп'ютерів Поява інтегрованих схем започаткувала новий етап розвитку обчислювальної техніки - народження машин третього покоління. Інтегрована схема, яку також називають кристалом, являє собою мініатюрну електронну схему, витравлену на поверхні кремнієвого кристала площею приблизно 10 ...
... (млин — арифметичний пристрій); блок управління послідовністю обчислень (пристрій управління); блок введення початкових даних і друку результатів (пристрої введення/виводу). III. Електромеханічний етап розвитку обчислювальної техніки є найменш тривалим і охоплює близько 60 років — від першого табулятора Г.Холлерита до першої ЕОМ “ENIAC”. В кінці XIX ст. були створені складніші механічні пристрої. ...
... вам найбільше? - То чи сподобався вам сьогоднішній урок і чим? Вже дзвінок нам дав сигнал, Для перерви час настав, Тож не буду вас тримати, Біжіть швидше відпочивати. VI. Домашнє завдання. Урок № 2 Тема. Обчислювальні прилади. Мета. Донести до дітей інформацію, як появились перші обчислювальні прилади, зокрема машина «Паскаліна», хто її створив; навчити грати гру лабіринт, а також ...
... диній грошовій одиниці [5]. РОЗДІЛ 2. ОСОБЛИВОСТІ ОРГАНІЗАЦІЯ ОБЛІКУ ГРОШОВИХ КОШТІВ ПІДПРИЄМСТВА В СУЧАСНИХ УМОВАХ ГОСПОДАРЮВАННЯ 2.1. Організаційно-методичні основи обліку грошових коштів Конкретизація технології облікового процесу в кожному випадку залежить від складу об'єктів управління, сукупності. Обліковий процес складається з багатьох блоків, які мають бути конкретизовані й подан ...
0 комментариев