КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Числа із рухомою комою
Не завжди діапазон представлення чисел у форматі з фіксованою комою є достатнім для проведення обчислень. В такому випадку використовується формат представлення чисел із рухомою комою. У загальному випадку в форматі з рухомою комою число подається у вигляді А = ± m• q±р, де m - мантиса числа, q - основа порядку, ± р - порядок числа. Попередній вираз можна записати як А = ± mA · ± рA, де упущено основу порядку, оскільки в комп’ютерах вона незмінна. В більшості випадків основа порядку дорівнює основі системи числення, тобто 2. Для однозначного і максимально точного відображення чисел число з рухомою комою представляють у нормалізованому вигляді. Якщо виконується нерівність дo q- 1 < = |m| <1, а у випадку двійкової системи числення 0.5 < = m<1 (старший двійковий розряд мантиси дорівнює 1), то вважається, що число представлене в нормалізованому вигляді. Таким чином, у двійкового нормалізованого числа у форматі з рухомою комою мантиса є правильним дробом і у старшому розряді мантиси завжди стоїть 1. Операцію приведення числа до нормалізованого вигляду називають нормалізацією. Нормалізація чисел у комп’ютері виконується або апаратно, або ж спеціальною програмою. Для представлення двійкового числа у форматі з рухомою комою у розрядній сітці, наданій для цієї мети, виділяється: - по одному розряду для представлення знаку числа Sm (поле знаку числа) і знаку порядку Sр; - певне число розрядів для представлення значення порядку р; - розряди для представлення значення модуля мантиси m (поле мантиси). Наприклад, можливий такий варіант, коли формат числа складається з чотирьох полів (рис. 2.5) тобто, [А] = SpрАSmmА.
Рис. 2.5. Число з рухомою комою
Зазвичай у форматі з рухомою комою замість порядку р використовують так звану характеристику ("зміщений порядок") r = ± р + І, де 1 - надлишок (зсув), значення якого підбирається таким чином, щоб у разі зміни значення показника від деякого мінімального значення — |рmin| до максимального +|рmax|і характеристика r змінювалася від 1 до rmax. Отже, характеристика не змінює свого знаку. У цьому випадку відпадає необхідність у відображенні знаку порядку Для цього приймається, що 1 = 2k-1, де k - число розрядів, виділених для представлення порядку числа у форматі з рухомою комою. Тоді формат числа з рухомою комою можна подати так, як показано на рис. 2.6 (з використанням трьох полів), тобто, [А] = SmрАmA.
Рис. 2.6. Число з рухомою комою із зміщеним порядком Одиниця старшого розряду нормалізованої мантиси зазвичай не відображається у форматі числа, тобто є уявною. Розряд слова, в якому повинна була бути відображена ця одиниця, використовується як молодший розряд характеристики, або старший розряд мантиси, що дозволяє збільшити діапазон представлення чисел у форматі з рухомою комою, або точність обчислень. Таким чином, мантиса в такому варіанті відображається, починаючи з розряду, що йде після старшого. Це слід враховувати під час виконання будь-якої операції з мантисою числа, і перед початком операцій відновлювати старший розряд мантиси. Після завершення операцій формування нормалізованого результату у відведеній для нього розрядній сітці, старша одиниця мантиси знову відкидається. Порядок із к-розрядним полем може змінюватися в межах від -2k-1 + 1 до + 2k-1 - 1 (табл. 2.5, k = 3).
Як зазначалося, характеристика r - це порядок р з надлишком 1 = 2k-1. Вона не змінює свого знаку і змінюється від 1 (при р = -2k-1) до 2k-1 (при р = +2k-1 - 1). Винятком є число 0, яке виражається нульовою характеристикою і нульовою мантисою (не обов’язково). Основною перевагою представлення чисел у форматі з рухомою комою є великий діапазон машинних чисел і висока точність їхнього подання. Діапазон визначається довжиною розрядної сітки, виділеної для характеристики, а точність визначається довжиною розрядної сітки, виділеної для мантиси. Особливості виконання операцій над числами з рухомою комою: - збільшення мантиси у 2 рази здійснюється зсувом двійкового значення мантиси ліворуч (у бік старших розрядів); - зменшення мантиси у 2 рази здійснюється зсувом двійкового значення мантиси праворуч (у бік молодших розрядів); - величина числа не зміниться, якщо збільшити мантису в 2 рази і одночасно зменшити порядок на 1; - величина числа не зміниться, якщо зменшити мантису в 2 рази і одночасно збільшити порядок на 1. Тобто формат з рухомою комою має недолік, який полягає у відсутності унікального представлення для кожного числа. Усі числа, що наводяться на рис. 2.7, є еквівалентними. Слід зауважити, що цього недоліку не мають нормалізовані числа.
Рис. 2.7. Еквівалентні двійкові числа в форматі з рухомою комою Під час арифметичних операцій над числами з рухомою комою виконуються дії як над порядком, так і над мантисою. У деяких моделях комп’ютерів одержало поширення відображення чисел із рухомою комою з основою порядку, рівною цілому ступеню числа 2 (s =2r). При цьому порядок р відображається двійковим цілим числом, а мантиса т - числом, в якому групи по r двійкових розрядів зображають цифри мантиси з основою системи числення s. Прикладами вживаних основ порядку є числа 8 та 16. Використання для чисел з рухомою комою недвійкової основи порядку дещо зменшує точність обчислень (при заданому числі розрядів мантиси), але дозволяє збільшити діапазон чисел, що представляються в машині, і прискорити виконання деяких операцій, зокрема нормалізації, за рахунок того, що зсув проводиться відразу на кілька двійкових розрядів. Крім того, зменшується вірогідність появи ненормалізованих чисел в ході обчислень. Наприклад, у разі використання шістнадцяткових чисел з рухомою комою число X вважається нормалізованим, якщо старша шістнадцяткова цифра Xi відмінна від 0. Тобто у нормалізованому числі три старші двійкові цифри можуть дорівнювати 0. Це дещо зменшує точність представлення чисел при фіксованому числі розрядів мантиси. Якщо r старших шістнадцяткових розрядів мантиси рівні 0, то нормалізація в цьому випадку полягає в зсуві вліво мантиси на r шістнадцяткових розрядів і відповідному зменшенні показника порядку на r одиниць. Зсув на один шістнадцятковий розряд виконується як зсув мантиси відразу на чотири двійкові розряди. Розглянемо кілька прикладів. Припустимо, що потрібно подати у форматі з рухомою комою число 17. Для десяткової системи 17 = 17.0 х 10° = 1.7 х 101 = 0.17 х 102. Аналогічно в двійковій системі 17І0 = 100012х2° = 1000.1,х21 = 100.01,х22= 10.001,х23= 1.00012х24 = 0.100012х25. Якщо використати останній запис, то 8-розрядна мантиса числа буде рівною 10001000, а 5-розряд- ний порядок буде рівним 00101. Тоді число 17 в форматі з рухомою комою в двійковій системі має вигляд, показаний на рис. 2.8 а. Використовуючи формат з рухомою комою можна представляти числа в значно ширшому діапазоні, ніж використовуючи формат з фіксованою комою, при тих самих 14 розрядах. Так, на рис. 2.8 Ь) показано число 65536 = 0.1 х 217 у форматі з рухомою комою, для представлення якого у форматі з фіксованою комою потрібно було б 16 розрядів.
Рис. 2.8. Числа 17 а) та 65536 b) в двійковому форматі з рухомою комою Як вже зазначалося, ідея зміщення порядку полягає в перетворенні його значень лише в додатні числа. Зміщення здійснюється шляхом додавання до кожного значення порядку фіксованого числа, рівного середньому значенню величини діапазону можливих чисел, яке вибирається для представлення нуля. В приведених вище прикладах як зміщення потрібно взяти число 16, тому що воно є середнім між 0 і 31 (порядок має 5 бітів, тому дозволяє представити 25 = 32 значень). Будь-яке число, більше ніж 16, в полі порядку буде представляти додатне значення, а менше - від’ємне. Зауважимо іще раз, що значення порядку з усіма нулями та одиницями зазвичай резервується для спеціальних випадків (таких як нуль та нескінченість). Повернемося до попереднього прикладу. Ми обчислили 17 = 0.10001, х 25. Зміщення порядку рівне 16 + 5 = 21, і число має вигляд, показаний на рис. 2.9 а. Аналогічно для a) b)
Рис. 2.9. Числа 17 а) та 0.25 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.10. Число 0.03125 в нормалізованому двійковому форматі з рухомою комою із зміщеним порядком На рис. 2.11 наведено два приклади використовуваного в комп’ютерах формату представлення чисел з рухомою комою. Зверху наведено формат, який був використаний в комп’ютерах CDC 6600, CDC 7000, та CYBER 170 фірми СКС, а знизу - формат, який був використаний в комп’ютерах системи ІВМ/370 фірми IBM, причому тут основою порядку є число 16, тому мантиса вважається нормалізованою, якщо є хоча б одна одиниця в перших її чотирьох розрядах.
11 бітів 48 бітів 0 1 7 8 31
Рис. 2.11. Формат з рухомою комою комп’ютерів фірм СDС та ІВМ Існує велика кількість задач, коли обробці підлягають масиви чисел, які змінюються в вузькому діапазоні значень. В цьому випадку з метою більш ефективного використання розрядної сітки для представлення чисел використовують так звану поблоково-рухому кому, коли для всього масиву чисел є лише один порядок. В спеціалізованих комп’ютерах це дозволяє суттєво зменшити витрати обладнання на побудову арифметико-логічного пристрою. При потребі іще більшого розширення діапазону представлення даних використовується так званий формат з рухомою-рухомою комою. Тут використовується два поля порядку, як це показано на рис. 2.12.
Рис. 2.12. Формат з рухомою-рухомою комою Тут значення числа визначається з виразу А = 2е, де е = Р 2Р2.
Дата добавления: 2014-11-06; Просмотров: 5622; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |