Реферат: Арифметичні основи обчислювальної техніки
0
1
1
0
1
1
0
Знак порядку
k
n-k
Рис. 2. Форма подання двійкових чисел із „плавучою” комою.
Отже, мантиса числа може мати необмежену кількість різних значень, менших за одиницю, при відповідних значеннях порядку (тобто кома може «плавати»). З усієї кількості подань числа у показовій формі те його подання, що не має в старшому розряді мантиси нуля, називають нормалізованим. Всі інші подання є ненормалізованими. У нормалізованій формі значення мантиси завжди більші або дорівнюють 1/2, але не перевищують одиниці.
У обчислювальних пристроях із «плавучою» комою усі числа зберігаються у нормалізованому вигляді, при цьому не втрачаються молодші розряди мантиси і підвищується точність обчислень. Якщо після виконання будь-якої арифметичної операції результат виявляється ненормалізованим, то перед занесенням числа в пам’ять виконують його нормалізацію, тобто зсув мантиси ліворуч на відповідну кількість розрядів, і зменшення порядку числа на відповідну кількість одиниць.
Показова форма подання чисел має і свої вади, основною з яких є порівняно висока складність виконання арифметичних операцій, а отже, і більша вимогливість до ресурсів обчислювального пристрою. Це обмежує її застосування, наприклад, у спеціалізованих радіотехнічних обчислювальних пристроях, у системах управління технологічними процесами та обробки вимірювальної інформації у реальному часі.
2. ПРЯМИЙ, ОБЕРНЕНИЙ І ДОДАТКОВИЙ КОДИ ДВІЙКОВИХ ЧИСЕЛ
Залежно від способу обробки бітів, розміщених у розрядній сітці, розрізняють два види кодів: паралельний, коли в кожний момент часу всі розряди сітки доступні для обробки, і послідовний, коли в кожний момент часу доступний один розряд сітки. Числа, подані паралельним кодом, доступні за один такт, а числа, подані послідовним кодом, – за n тактів, де n – розрядність сітки. Якщо розрядність числа перевищує довжину сітки, то його обробка ведеться частинами.
Натуральним кодом називають подання числа як цілого беззнакового у двійковій системі числення. Діапазон подання чисел у натуральному коді для n- розрядної сітки становить від 0 до 2n -1, тобто для 8-розрядної сітки – від 0 до 255.
Для подання цілих знакових чисел використовують прямий, обернений і додатковий коди. Старший розряд сітки є знаковим. Значення цього розряду дорівнює 0 для додатних чисел і 1 – для від’ємних. В інших розрядах розміщується модуль числа.
Якщо до натурального коду цілого числа додати знаковий розряд, одержуємо запис числа у прямому коді (ПК). Домовимося знаковий розряд розташовувати зліва і відокремлювати від розрядів модуля числа крапкою, наприклад: + 6(10) = 0. 110(ПК) ; - 6(10) = 1. 110(ПК) .
Використання ПК забезпечує виконання операції додавання двох додатніх чисел звичайним способом без будь-яких складностей – не варто лише робити перенос одиниці старшого розряду модуля суми у знаковий розряд. Тобто при виконанні арифметичних операцій над ПК двійкових чисел знаковий розряд і розряди модуля не можна розглядати як єдине ціле. У цьому можна переконатися, розглянувши такий приклад:
Правильно: | Неправильно: |
0. 0110 + 0. 1010 0.10000 |
0.0110 + 0.1010 1.0000 |
(+6) + (10) = (+16) | (+6) + (+10) = (- 0) |
Однак, виконання операції віднімання одного числа від іншого шляхом безпосереднього додавання їхніх ПК неможливо. Неважко також помітити, що в ПК нуль має два можливі зображення: - 0 = 1.000... і + 0 = 0.000..., що ускладнює інтерпретацію результатів виконання арифметичних операцій у ЕОМ.
Іншою формою запису двійкових чисел є обернений код (ОК).
ОК двійкового від’ємного числа утворюється з ПК рівного йому за модулем додатнього числа шляхом інвертування значень усіх його розрядів. Або: ОК від’ємного числа утворюється шляхом інверсії всіх розрядів модуля цього числа, записаного у ПК. Знаковий розряд при цьому зберігає значення 1. Наприклад, 6(10) = 1.110(ПК) =1.001(ОК) .
При виконанні арифметичних операцій над двійковими числами, поданими в ОК, знаковий розряд і розряд модуля числа можна розглядати як єдине ціле (перенос одиниці зі старшого розряду модуля суми в знаковий розряд не приводить до помилкового результату), але нуль як і раніше має два зображення – «додатнє» і «від’ємне». Слід зазначити, що отриманий при додаванні від’ємний результат також утворюється в ОК. У цьому випадку число може бути перетворене у ПК інверсією всіх значущих розрядів (розрядів модуля). Наприклад:
0.110 |
+1.001 |
1.111(ОК) = 1.000(ПК) |
(+6) + (-6) = (-0)