Двійкова арифметика
У цифрових та мікропроцесорних пристроях над двійковими числами виконуються як логічні, так і арифметичні операції. Арифметичні операції (додавання, віднімання, множення, ділення) над двійковими числами здійснюються (реалізуються) з допомогою спеціальних алгоритмів, які не використовуються у десятковій системі числення. У цих алгоритмах переважає операція додавання як додатних, так і від’ємних чисел, яку досить просто реалізувати.
Цифрові пристрої оперують тільки цілими і дійсними числами. Останні можуть бути подані з фіксованою або з плаваючою комою (точкою) (2;4). Незалежно від форм зображення знаки дійсних чисел "+" і "-" в ЦТ кодують цифрами - відповідно нулем (0) і одиницею (1).
Основною арифметичною операцією, яка використовується в цифрових пристроях для виконання різних обчислень, е операція алгебраїчного додавання двійкових чисел. Операція віднімання легко виконується через додавання, якщо змінити знак від’ємника на протилежний, а саме: А-В=А+(-В). Операції множення і ділення також виконуються з допомогою операції додавання та деяких логічних дій при застосуванні зсуву часткових результатів ліворуч або праворуч
Зупинимось на операції додавання двійкових чисел.
Операція додавання в цифрових пристроях виконується порозрядно, починаючи з молодших розрядів доданків. При цьому в кожному одноіменному розряді доданків підсумовуються відповідні цифри та переноситься попередній розряд суми. Додавання молодших розрядів двійкових чисел здійснюється лише з двома доданками:
· 0+0=0; 0+1=1; 1+0=1; 1+1=10,
де у числі 10 цифра 1 - перенос у наступний (старший) розряд.
Пристрій, що виконує операцію додавання двійкових чисел, називається суматором, а пристрій, що реалізує підсумовування молодших розрядів двійкового числа, - напівсуматором. Порозрядне підсумовування двох чисел як суматор, так і напівсуматор виконують за модулем 2 згідно з правилом 0Å0=0; 0 Å 1 = 1; 1 Å 0 = 1; 1 Å 1 = 0, яке це застосовують для порівняння двох чисел.
Для виконання операції додавання від’ємних чисел застосовуються спеціальні коди - обернений та доповняльний. Обернений код від’ємного числа А2 отримується при інвертуванні всіх цифр у кожному розряді, тобто заміні нуля одиницею, одиниці нулем, а у знаковому розряді ставиться одиниця. Отже, обернений код числа А10 =-28 буде . Якщо виконувати операцій ,тобто зображати від’ємне число В2 оберненим кодом , може виникнути одиниця переносу, яку потрібно додати до молодшого розряду одержаної суми. Однак цю операцію, яка називається циклічним переносом, технічно реалізувати не вигідно, бо вона вимагає ще однієї операції додавання, що істотно збільшує час виконання дії. Тому для додавання від’ємних чисел перевага надається доповняльному коду числа , який утворюється від оберненого додаванням одиниці до його молодшого розряду. При цьому відпадає необхідність у циклічному переносі одиниці та ще одного додавання. У випадку переповнення у знаковому розряді одиниця переносу просто відкидається і не враховується. Тому всі від’ємні числа, які використовуються для виконання різних арифметичних дій, подають у доповняльному коді. Отже, доповняльний код від’ємного n-розрядного числа А2 одержується з оберненого як (у молодшому розряді), де , -від’ємне число в оберненому коді.
Якщо у знаковому розряді суми отримано одиницю, тобто результат від’емний, значення отриманого числа є у доповняльному коді, а якщо - нуль, результат додавання отримано у прямому коді. Сума доповняльних кодів двійкових чисел має доповняльний код результату. Отже, віднімання чисел довільного знака можна звести до операції додавання:
Дата добавления: 2016-07-22; просмотров: 3996;