
- •Архітектура та програмне забезпечення комп’ютера Програмування як наукова дисципліна і професійна діяльність
- •Архітектурні особливості комп'ютерів Класична структура комп’ютера
- •Поняття архітектури комп’ютера
- •Технологія виконання команд мікропроцесором
- •Арифметичні основи комп’ютера
- •Загальні відомості про системи числення
- •Системи числення, застосовувані в комп’ютерах
- •Переведення чисел із однієї позиційної системи числення в іншу
- •Подання даних в комп’ютері Структура внутрішньої пам’яті комп’ютера
- •Подання числових даних
- •Кодування чисел
- •Двійкова арифметика в комп'ютерах
- •Кодування текстових даних
- •Кодування графічних даних
- •Кодування звукової інформації
- •Види програмного забезпечення комп'ютерів Класифікація програмного забезпечення
- •Основи роботи операційних систем
Кодування чисел
Для спрощення арифметичних операцій, числа в цифрових пристроях ЕОМ подаються спеціальними кодами - прямим,оберненимідодатковим.
Всі три способи використовують самий лівий (старший) розряд бітового набору довжини nдля кодування знака числа: знак "плюс" кодується нулем, а "мінус" - одиницею. Інші n-1розрядів (цифрова частина) використовуються для представлення абсолютної величини числа.
Додатні числа у прямому, оберненому та додатковому кодах записуються однаково - двійковим кодом числа з цифрою 0 у знаковому розряді. Наприклад, при розмірі розрядної сітки n= 8:
Від’ємні числа в прямому, зворотному і додатковому кодах мають різне представлення.
Прямий кодвід’ємного числа відрізняється від прямого коду додатного числа тим, що значення його знакового розряду дорівнює не 0, а 1. Наприклад, прямий код чисел -1 і -127 у 8-розрядній сітці:
У прямому коді в розрядну сітку комп'ютера можна записати наступне максимальне за абсолютним значенням число:
Хп max = 0111…1= 2n-1 -1,
де n- кількість розрядів розрядної сітки комп'ютера.
Діапазон зміни машинного представлення цілих чисел для прямого коду лежить в межах
–(2n-1 -1) < [Хп] < (2n-1 -1).
Обернений кодвід’ємного числа отримується із прямого коду шляхом заміни його цифр на їх доповнення до1. Код знака зберігається без змін. Заміна цифр їх доповненням для двійкової системи співпадає з операцією інверсії, тобто у всіх розрядах нулі потрібно замінити на1, а одиниці - на 0. Наприклад, обернений код чисел-1і-127у8-розрядній сітці:
Діапазон зміни машинного представлення цілих чисел для оберненого коду: -(2n-1–1) .. 0.
Додатковий код від’ємного числа отримується із оберненого коду збільшенням на1його молодшого розряду. При цьому перенос із знакового розряду ігнорується. Наприклад, додатковий код чисел-1і-127у8-розрядній сітці:
Діапазон зміни машинного представлення цілих чисел для додаткового коду: -2n-1 ..-1.
Додатковий код є математичним доповненням основи q:
|X| + Хд = qn ,
де |Х|-
абсолютне значення числа,n- кількість розрядів у представленні
числа. Відповідно додатковий
код від’ємногодвійкового
числаХ, що
зберігається вnбітах, можна визначити як2n
-|X|. По суті, додатковий код являє
собою доповнення|Х|
до 0: так як вn-розрядній
двійковій арифметиці(двійкова запис цього числа складається
з 1 іnнулів, а вn-розрядну комірку
поміщаються тількиnмолодших розрядів, тобтоnнулів). Наприклад,
приn = 8
(+1)д = 1 = 000000012 ;
(–1)д = 28 - |-1|= 256 –1 = 25510 = 111111112 ;
(–127)д = 28 - |-127|= 256 –127 = 12910 = 100000012 .
Для перевірки правильності треба скласти додатковий код з самим числом: результат повинен бути рівним2n.
Таким чином, у системі двійкових чисел зі знаком заміна додатнього числа на рівне йому по модулю від’ємне і навпаки, від’ємного - на додатнє, здійснюється застосуванням до коду даного числа операції доповнення3. Ця властивість представлення від’ємних чисел у додаткових кодах дозволяє при виконанні арифметичних операцій взагалі відмовитися від операції віднімання, замінивши її операцією додавання з числом, що має знак, протилежний знаку від'ємника.
Саме так і виконуються арифметичні операції над числами електронними пристроями комп'ютера. Якби комп'ютер обробляв прямі коди додатних і від’ємних чисел, то при виконанні арифметичних операцій слід було б виконувати ряд додаткових дій. Наприклад, при додаванні потрібно було б перевіряти знаки обох операндів і визначати знак результату: якщо знаки однакові, то обчислюється сума операндів і їй присвоюється той же знак; якщо ж знаки різні, то з більшого по абсолютній величині числа віднімається менше і результату присвоюється знак більшого числа. Тобто, при представленні чисел лише у прямому коді, операція додавання реалізується через досить складний алгоритм. Куди простіше складати числа, якщо від’ємні числа перетворені в додатковий код.
Тому додатні числа в комп'ютері представляються за допомогою прямого коду, для представлення ж від’ємних чисел використовується додатковий код.
Як правило, десяткові числа при введенні в комп’ютер автоматично перетворюються в двійковий код (цілі без знака), обернений або додатковий код (цілі з знаком) і в такому вигляді зберігаються, переміщуються і беруть участь в операціях. При виведенні результатів з ЕОМ відбувається зворотне перетворення в десяткові числа.