46833 (597303), страница 2
Текст из файла (страница 2)
Додавання двох від’ємних чисел виконується аналогічно прикладам 1, 2 (у залежності від значення виразу Р1 Р2. Тому що результат у цьому випадку завжди від’ємний, для перевірки правильності розв’язання необхідно перетворити його у прямий код, аналогічно прикладу 3.
Висновки:
-
Правильність виконання операцій додавання обов'язково повинна перевірятися шляхом аналізу значення виразу Р1 Р2, щоб уникнути одержання некоректного результату, що виникає при переповненні розрядної сітки, при цьому: якщо Р1 Р2 = 0, одиниця в розряді переповнення ігнорується (відкидається); якщо Р1 Р2 = 1, необхідно зсунути число на один розряд праворуч.
-
Правило перевірки коректності результату додавання двійкових чисел також можна сформулювати в такий спосіб: якщо знак операндів однаковий, а знак суми протилежний, результат є некоректним. При додаванні двох операндів із різними знаками результат завжди коректний, якщо не брати до уваги одиницю у розряді переповнення.
Множення і ділення двійкових чисел із фіксованою комою
Множення двійкових чисел завжди виконують у прямому коді. Знак добутку визначають по знакових розрядах множників згідно з таким загальновідомим правилом: якщо знаки операндів однакові, то знак добутку – позитивний; у протилежному випадку – знак добутку негативний.
Знак добутку двох чисел не впливає на алгоритм виконання операції множення модулів цих чисел.
Часто використовують спосіб множення, процедура якого аналогічна процедурам множення вручну. У цьому випадку результат одержують додаванням часткових добутків. Кожний частковий добуток удвічі перевищує попередній, що відповідає його зсуванню ліворуч на один розряд. Наприклад:
| 1101 х 1011 1101 1101 + 0000 1101 1 | 13 х 11 13 + 13 |
Характерно, що розрядність добутку двійкових чисел удвічі перевищує розрядність співмножників. Якщо у множенні беруть участь мантиси, тобто правильні дроби, то молодші розряди, що виходять за межі розрядної сітки, можуть бути відкинуті без округлення або з округленням.
Операція ділення також виконується способом, аналогічним застосовуваному при діленні вручну, що наочно ілюструє приклад ділення двох чисел 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;
-
остача зсувається ліворуч, і до неї додається дільник із знаком, зворотним знаку остачі;
-
знак наступної остачі визначає наступну цифру частки;
-
ці дії повторюють доти, поки не утвориться необхідне число розрядів частки або нульова остача.
Слід зазначити, що оскільки даний алгоритм передбачає додавання чисел (остач і дільника) тільки з протилежними знаками, то всі розряди проміжних сум, старші за знаковий, слід ігнорувати.
Виконання арифметичних операцій у пристроях із «плавучою» комою
Операція додавання у пристроях із «плавучою» комою відбувається у чотири етапи:
-
Порівнюються порядки доданків: менший порядок збільшується до більшого. При цьому відповідним чином корегується мантиса числа, яке перетворюється.
-
Виконується перетворення мантис у додаткові коди.
-
Виконується додавання мантис за правилами, розглянутими вище для чисел із фіксованої комою.
-
До суми приписується порядок доданків і, в разі необхідності, виконується нормалізація результату.
Операція множення чисел, поданих у формі з «плавучою» комою також виконується у чотири етапи:
-
Визначається знак добутку.
-
Перемножуються мантиси співмножників за правилами для чисел із фіксованої комою.
-
Обчислюється порядок добутку алгебраїчним додаванням порядків співмножників за правилами додавання цілих чисел із знаком.
-
Виконується нормалізація отриманого результату у випадку її необхідності.
Ділення чисел у пристроях із «плавучою» комою виконується так само, як і множення.
Висновок:
-
Операція віднімання в обчислювальних пристроях завжди заміняється операцією додавання з числом зворотного знаку (доповненням модулю від'ємника).
-
Операції множення і ділення в обчислювальних пристроях подаються у послідовності операцій додавання і зсування.
Таким чином, виконання всіх арифметичних операцій в обчислювальних пристроях зводиться до виконання типових послідовностей елементарних операцій – основної операції додавання і додаткових операцій інвертування кодів і зсування. Ці операції виконуються в спеціальному функціональному вузлі, що має назву арифметичного пристрою.
0001111
143














