ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 24.12.2021
Просмотров: 6785
Скачиваний: 22
67
|
|
|
Таблиця 2.5 |
|
Показник порядку |
Прямий код показника |
Характеристика (показник + 4) |
Примітки |
|
+3 |
011 |
111 |
3 + 4=7 |
|
+2 |
010 |
110 |
2 + 4 = 6 |
|
+ 1 |
001 |
101 |
1+4 = 5 |
|
0 |
000 |
100 |
0 + 4 = 4 |
|
-1 |
101 |
011 |
-1+4 = 3 |
|
-2 |
11О |
010 |
-2 + 4 = 2 |
|
-3 |
111 |
001 |
-3 + 4=1 |
|
|
|
000 |
Ознаку нуля |
|
Як зазначалося, характеристика r - це порядок р з надлишком 1 = 2k-1 Вона не змінює свого знаку і змінюється від 1 (при р = -2k-1) до 2к"' (при р = +2k-1- 1). Винятком є число 0, яке виражається нульовою характеристикою і нульовою мантисою (не обов'язково).
Основною перевагою представлення чисел у форматі з рухомою комою є великий діапазон машинних чисел і висока точність їхнього подання. Діапазон визначається довжиною розрядної сітки, виділеної для характеристики, а точність визначається довжиною розрядної сітки, виділеної для мантиси.
Особливості виконання операцій над числами з рухомою комою:
-
збільшення мантиси у 2 рази здійснюється зсувом двійкового значення мантиси ліворуч (у бік старших розрядів);
-
зменшення мантиси у 2 рази здійснюється зсувом двійкового значення мантиси праворуч (у бік молодших розрядів);
-
величина числа не зміниться, якщо збільшити мантису в 2 рази і одночасно зменшити порядок на 1;
-
величина числа не зміниться, якщо зменшити мантису в 2 рази і одночасно збільшити порядок на 1.
Під час арифметичних операцій над числами з рухомою комою виконуються дії як над порядком, так і над мантисою.
Тобто формат з рухомою комою має недолік, який полягає у відсутності унікального представлення для кожного числа. Усі числа, що наводяться на рис. 2.7, є еквівалентними. Слід зауважити, що цього недоліку не мають нормалізовані числа.
68
У деяких моделях комп'ютерів одержало поширення відображення чисел із рухомою комою з основою порядку, рівною цілому ступеню числа 2 (s =2r). При цьому порядок р відображається двійковим цілим числом, а мантиса т - числом, в якому групи по r двійкових розрядів зображають цифри мантиси з основою системи числення s.
Прикладами вживаних основ порядку є числа 8 та 16.
Використання для чисел з рухомою комою недвійкової основи порядку дещо зменшує точність обчислень (при заданому числі розрядів мантиси), але дозволяє збільшити діапазон чисел, що представляються в машині, і прискорити виконання деяких операцій, зокрема нормалізації, за рахунок того, що зсув проводиться відразу на кілька двійкових розрядів. Крім того, зменшується вірогідність появи ненормалізованих чисел в ході обчислень.
Наприклад, у разі використання шістнадцяткових чисел з рухомою комою число X вважається нормалізованим, якщо старша шістнадцяткова цифра X. відмінна від 0. Тобто у нормалізованому числі три старші двійкові цифри можуть дорівнювати 0. Це дещо зменшує точність представлення чисел при фіксованому числі розрядів мантиси. Якщо r старших шістнадцяткових розрядів мантиси рівні 0, то нормалізація в цьому випадку полягає в зсуві вліво мантиси на г шістнадцяткових розрядів і відповідному зменшенні показника порядку на r одиниць. Зсув на один шістнадцятковий розряд виконується як зсув мантиси відразу на чотири двійкові розряди.
Розглянемо кілька прикладів.
Припустимо, що потрібно подати у форматі з рухомою комою число 17. Для десяткової системи 17 = 17.0 х 1010 = 1.7 х 101 = 0.17х 102. Аналогічно в двійковій системі 1710 = 100012 х 2° = 1000.12 х 21 = 100.01, х 22 = 10.0012 х 23 = 1.00012 х 24 = 0.10001, х 25. Якщо використати останній запис, то 8-розрядна мантиса числа буде рівною 10001000, а 5-розряд-ний порядок буде рівним 00101. Тоді число 17 в форматі з рухомою комою в двійковій системі має вигляд, показаний на рис. 2.8 а. Використовуючи формат з рухомою комою можна представляти числа в значно ширшому діапазоні, ніж використовуючи формат з фіксованою комою, при тих самих 14 розрядах. Так, на рис. 2.8 b) показано число 65536 = 0.12 х 217 у форматі з рухомою комою, для представлення якого у форматі з фіксованою комою потрібно було б 16 розрядів.
Як вже зазначалося, ідея зміщення порядку полягає в перетворенні його значень лише в додатні числа. Зміщення здійснюється шляхом додавання до кожного значення порядку фіксованого числа, рівного середньому значенню величини діапазону можливих чисел, яке вибирається для представлення нуля. В приведених вище прикладах як зміщення потрібно взяти число 16, тому що воно є середнім між 0 і 31 (порядок має 5 бітів, тому дозволяє представити 25 = 32 значень). Будь-яке число, більше ніж 16, в полі порядку буде представляти додатне значення, а менше - від'ємне. Зауважимо іще раз, що значення порядку з усіма нулями та одиницями зазвичай резервується для спеціальних випадків (таких як нуль та нескінченість).
69
Повернемося до попереднього прикладу. Ми обчислили 1710= 0.100012х25. Зміщення порядку рівне 16 + 5 = 21, і число має вигляд, показаний на рис. 2.9 а. Аналогічно для числа 0.25=1.0х2-2 будемо мати представлення, показане на рис. 2.9 b.
Розглянемо іще один приклад числа з рухомою комою, в даному випадку нормалізованого. Виразимо 0.0312510 в форматі з рухомою комою із зміщенням порядку на 16. Тоді 0.0312510 = 0.000012 х 2° = 0.0001 х 2-1 = 0.001 х 2-2 = 0.01 х 2-3 = 0.1 х 2-4. Додавши до порядку зміщення отримаємо 16 - 4 = 12. Повний вигляд числа показано на рис. 2.10.
На рис. 2.11 наведено два приклади використовуваного в комп'ютерах формату представлення чисел з рухомою комою. Зверху наведено формат, який був використаний в комп'ютерах CDC 6600, CDC 7000, та CYBER 170 фірми СКС, а знизу - формат, який був використаний в комп'ютерах системи ІВМ/370 фірми IBM, причому тут основою порядку є число 16, тому мантиса вважається нормалізованою, якщо є хоча б одна одиниця в перших її чотирьох розрядах.
Існує велика кількість задач, коли обробці підлягають масиви чисел, які змінюються в вузькому діапазоні значень. В цьому випадку з метою більш ефективного використання розрядної сітки для представлення чисел використовують так звану поблоково-рухому кому, коли для всього масиву чисел є лише один порядок. В спеціалізованих комп'ютерах це дозволяє суттєво зменшити витрати обладнання на побудову арифметико-логічного пристрою.
70
При потребі іще більшого розширення діапазону представлення даних використовується так званий формат з рухомою-рухомою комою. Тут використовується два поля порядку, як це показано на рис, 2.12.
Тут значення числа визначається з виразу А = 2е, де e = Р1 2P2.
2.6.4. Стандарт ІЕЕЕ-754
Для представлення чисел з рухомою комою у більшості сучасних комп'ютерів використовується стандарт ІЕЕЕ-754. В попередньому пункті ми розглянули можливі варіанти представлення даних в форматі з рухомою комою. До середини 80-х років в різних комп'ютерах використовувались різні варіанти цього представлення, що суттєво ускладнювало виконання на них тих самих програм. У 1985 році Інститут інженерів електротехніків і радіоелектроніків (IEEE) розробив стандарт для чисел з рухомою комою, який офіційно відомий як ІЕЕЕ-754 (1985).
Стандарт ІЕЕЕ-754 для чисел з одинарною точністю використовує зміщення 8-роз-рядного порядку на 127. Це ще один спосіб представлення чисел із знаком без використання знаку мінус. Мантиса має 23 біти. Із знаковим розрядом включно повна довжина слова складає 32 біти (рис. 2.13).
Значення числа обчислюється за формулою:
число = (-1)S *2E-127*(1, М).
Мантиса представляється в прямому коді без знаку, знак мантиси представляється окремо. Суть нормалізації полягає в тому, що мантиса приводиться до вигляду 1.ххххх, тобто вона знаходиться в межах від 1,000...0 до 1,111...1. Слід зауважити, що оскільки кожна мантиса після нормалізації починається з 1, то нема сенсу зберігати цей розряд, тому він не зберігається разом з числом. Його необхідно просто враховувати під час операцій над числами.
Числа з подвійною точністю в стандарті ІЕЕЕ-754 подаються 64-розрядним словом, яке має знаковий розряд, 11-розрядний порядок і 52-розрядну мантису (рис. 2.14). Зміщення порядку дорівнює 1023.
71
Значення числа обчислюється за формулою:
число = (-1)S *2E-1023*(1, М).
Діапазон чисел, які можуть бути представлені в цьому форматі, показаний на рис. 2.15.
У табл. 2.6 наведено характеристики форматів подання двійкових чисел в стандарті ІЕЕЕ-754 з одинарною та подвійною точністю.
|
|
Таблиця 2.6 |
Характеристика |
Формат з одинарною точністю |
Формат з подвійною точністю |
Довжина слова |
32 біти |
64 біти |
Мантиса (зі знаком) |
24 біти |
53 біти |
Порядок |
8 бітів |
11 бітів |
Зміщення |
127 |
1023 |
Наближений діапазон |
2128=3.8 1038 |
21024=9 10307 |
Найменше нормалізоване число |
2-126=10-38 |
2-1022=10-308 |
Наближена точність представлення чисел |
2-23=10-7 |
2-52=10-15 |
Як числа з одинарною точністю, так і числа з подвійною точністю в стандарті ІЕЕЕ-754 мають для нуля два варіанти представлення. Коли порядок і мантиса рівні нулю - число є нулем. При цьому значення знаку є несуттєвим. На цю обставину потрібно звертати увагу при проведенні операції порівняння числа з рухомою комою на збіжність з нулем.
Стандарт ІЕЕЕ-754 передбачає використання певної кількості значень мантиси та порядку для представлення нескінчених, невизначених та малих значень. Так мінус та плюс нескінченість подаються максимальним значенням порядку (3778для числа з оди-