Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Числа з фіксованою комою. Числа із рухомою комоюСодержание книги
Поиск на нашем сайте
Числа з фіксованою комою У разі використання чисел із фіксованою комою, представлення коми не виконується, але вважається, що вона є на певній наперед відомій позиції відносно розрядів числа. Найчастіше вважається, що кома стоїть після молодшого розряду числа (таким чином представляються цілі числа) або перед старшим розрядом числа (таким чином представляються дробові числа), хоча можливе застосування і змішаного варіанту У такому форматі представляються числа з діапазону - 1 ≤число < 1 (якщо є знаковий розряд) або 0 ≤ число < 1 (якщо знакового розряду немає). На рис. 2.4 показано приклад розрядної сітки комп’ютера (формату даних) для представлення двійкових чисел із фіксованою комою в вигляді 32-розрядних слів для випадків закріплення коми перед старшим і після молодшого розряду. Розряди пронумеровані зліва направо.
Рис. 2.4. Розрядна сітка при представленні двійкових чисел з фіксованою комою: а - кома фіксована перед старшим розрядом а1 b - кома фіксована після молодшого розряду а31. Для кодування знаку числа використовується знаковий розряд (а0 на рис. 2.4). У цьому розряді 0 відповідає знаку «+», а 1 - знаку «-». На розрядній сітці вказано вагу кожного розряду. Найбільше додатне число, яке може бути представлене в розрядній сітці, показаній на рис. 2.4 а, рівне 0,11...1=1-2-31. Тут після коми розміщена 31 одиниця. А найменше додатне значуще число рівне 0,00... 01=2-31.Тут після коми розміщено 30 нулів. В розрядній сітці (рис. 2.4 а) можуть бути представлені числа в діапазоні від - (1 -231) до -2-31 і від +2-31 до +(1-2-31), що відповідає діапазону абсолютних десяткових чисел приблизно від (1-10-9) до 10-9. Числа |х| < 2 -31 не можуть бути представлені в розрядній сітці і приймаються рівними 0 (число виходить за розрядну сітку вправо). Всі числа |х| >=1 також не можуть бути представлені в прийнятій розрядній сітці. Таке число виходить за межі сітки вліво (відбувається переповнення розрядної сітки), і його старші розряди (розряди зліва від коми) втрачаються, а результат обчислень виявляється неправильним. Тому, зазвичай, якщо при виконанні певної програми виникає переповнення, в арифметико-логічному пристрої формується сигнал, який фіксується в відповідному тригері та повідомляє операційну систему комп’ютера про наявність переповнення. Якщо кома зафіксована праворуч від молодшого розряду, розрядна сітка (рис. 2.4 б) дозволяє представляти додатні та від’ємні цілі двійкові числа, модуль яких 1< = |х| < = 231—1, що відповідає діапазону абсолютних десяткових чисел приблизно від 1 до 109, а також 0. Всі числа, модуль яких менший 1 або більший (231-1), не можуть бути представлені в цій розрядній сітці (число виходить за межі розрядної сітки). При виконанні на комп’ютері обчислень необхідно, щоб всі вихідні та отримувані в процесі обчислень проміжні і кінцеві дані не виходили за діапазон чисел, які можуть бути представлені в цій розрядній сітці. В іншому випадку в обчисленнях можуть виникнути помилки. Для цього під час написання програм дані, що задіяні в обчисленнях, беруться з відповідними масштабними коефіцієнтами. При виконанні науково-технічних розрахунків масштабування є простішим, якщо всі числа по модулю не перевищують 1, тобто кома зафіксована перед старшим розрядом числа. Комп’ютери, які опрацьовують числа в форматі з фіксованою комою, є простішими (меншими за габаритами) та швидшими порівняно з комп’ютерами, які опрацьовують числа в форматі з рухомою комою, але в них можливе виникнення проблем через потребу передбачення переповнення. Перші комп’ютери опрацьовували дані з фіксованою комою, причому кома, як правило, фіксувалась перед старшим розрядом числа. Зараз представлення чисел з фіксованою комою використовується як єдине лише в порівняно невеликих за своїми обчислювальними можливостями комп’ютерах, які використовуються для управління технологічними процесами та опрацювання вимірювальної інформації в реальному часі. В комп’ютерах, призначених для вирішення широкого кола обчислювальних задач, основним є представлення чисел з рухомою комою, яке не вимагає масштабування даних. Однак у таких комп’ютерах, крім представлення чисел в цьому форматі, часто використовується представлення з фіксованою комою, оскільки на виконання операцій з такими числами витрачається менше часу. При цьому в більшості випадків формат чисел із фіксованою комою слугує для представлення цілих двійкових чисел (кома ставиться праворуч від молодшого розряду числа) та виконання операцій над ними, що, зокрема, необхідно для операцій над кодами адрес (операцій індексної арифметики). Розглянемо основні формати чисел із фіксованою комою, що використовуються у сучасних комп’ютерах, та діапазони представлення в них чисел (табл. 2.4). Інколи під час створення спеціалізованих комп’ютерів зручно ставити кому в іншу позицію (не лише праворуч від молодшого розряду числа або ліворуч від старшого розряду числа), і таким чином виокремлювати певну кількість розрядів для подання цілої частини числа, а також певну кількість розрядів для подання дробової частини числа. Числа із рухомою комою Не завжди діапазон представлення чисел у форматі з фіксованою комою є достатнім для проведення обчислень. В такому випадку використовується формат представлення чисел із рухомою комою. У загальному випадку в форматі з рухомою комою число подається у вигляді А = ± m *q±р, де m - мантиса числа, q - основа порядку, ± р - порядок числа. Попередній вираз можна записати як А = ± mА * ± рa, де упущено основу порядку, оскільки в комп’ютерах вона незмінна. В більшості випадків основа порядку дорівнює основі системи числення, тобто 2. Для однозначного і максимально точного відображення чисел число з рухомою комою представляють у нормалізованому вигляді. Якщо виконується нерівність q - 1 < = |m| <1, а у випадку двійкової системи числення 0.5 < = |m| <1 (старший двійковий розряд мантиси дорівнює 1), то вважається, що число представлене в нормалізованому вигляді. Таким чином, у двійкового нормалізованого числа у форматі з рухомою комою мантиса є правильним дробом і у старшому розряді мантиси завжди стоїть 1. Операцію приведення числа до нормалізованого вигляду називають нормалізацією. Нормалізація чисел у комп’ютері виконується або апаратно, або ж спеціальною програмою. Для представлення двійкового числа у форматі з рухомою комою у розрядній сітці, наданій для цієї мети, виділяється: ■ по одному розряду для представлення знаку числа Біті (поле знаку числа) і знаку порядку Бр; ■ певне число розрядів для представлення значення порядку р; ■ розряди для представлення значення модуля мантиси ш (поле мантиси). ■ Наприклад, можливий такий варіант, коли формат числа складається з чотирьох полів (рис. 2.5) тобто, [А] = SрPАSMmА.
Зазвичай у форматі з рухомою комою замість порядку р використовують так звану характеристику ("зміщений порядок") r = ± р + l, де І - надлишок (зсув), значення якого підбирається таким чином, щоб у разі зміни значення показника від деякого мінімального значення -|рmin| до максимального +|рmах|, характеристика r змінювалася від 1 до r. Отже, характеристика не змінює свого знаку. У цьому випадку відпадає необхідність у відображенні знаку порядку Sр. Для цього приймається, що 1 = 2k-1, де к - число розрядів, виділених для представлення порядку числа у форматі з рухомою комою. Тоді формат числа з рухомою комою можна подати так, як показано на рис. 2.6 (з використанням трьох полів), тобто, [А] = SрPАSMmА. Одиниця старшого розряду нормалізованої мантиси зазвичай не відображається у форматі числа, тобто є уявною. Розряд слова, в якому повинна була бути відображена ця одиниця, використовується як молодший розряд характеристики, або старший розряд мантиси, що дозволяє збільшити діапазон представлення чисел у форматі з рухомою комою, або точність обчислень. Таким чином, мантиса в такому варіанті відображається, починаючи з розряду, що йде після старшого. Це слід враховувати під час виконання будь-якої операції з мантисою числа, і перед початком операцій відновлювати старший розряд мантиси. Після завершення операцій формування нормалізованого результату у відведеній для нього розрядній сітці, старша одиниця мантиси знову відкидається. Порядок із к-розрядним полем може змінюватися в межах від -2к-1 + 1 до + 2к-1 - 1 (табл. 2.5, к = 3).
Як зазначалося, характеристика г - це порядок р з надлишком 1 = 2к_1. Вона не змінює свого знаку і змінюється від 1 (при р = -2к-1) до 2к-1 (при р = +2к-1 - 1). Винятком є число 0, яке виражається нульовою характеристикою і нульовою мантисою (не обов’язково). Основною перевагою представлення чисел у форматі з рухомою комою є великий діапазон машинних чисел і висока точність їхнього подання. Діапазон визначається довжиною розрядної сітки, виділеної для характеристики, а точність визначається довжиною розрядної сітки, виділеної для мантиси. Особливості виконання операцій над числами з рухомою комою: ■ збільшення мантиси у 2 рази здійснюється зсувом двійкового значення мантиси ліворуч (у бік старших розрядів); ■ зменшення мантиси у 2 рази здійснюється зсувом двійкового значення мантиси праворуч (у бік молодших розрядів); ■ величина числа не зміниться, якщо збільшити мантису в 2 рази і одночасно зменшити порядок на 1; ■ величина числа не зміниться, якщо зменшити мантису в 2 рази і одночасно збільшити порядок на 1. Тобто формат з рухомою комою має недолік, який полягає у відсутності унікального представлення для кожного числа. Усі числа, що наводяться на рис. 2.7, є еквівалентними. Слід зауважити, що цього недоліку не мають нормалізовані числа. Під час арифметичних операцій над числами з рухомою комою виконуються дії як над порядком, так і над мантисою. У деяких моделях комп’ютерів одержало поширення відображення чисел із рухомою комою з основою порядку, рівною цілому ступеню числа 2 (s =2r). При цьому порядок p відображається двійковим цілим числом, а мантиса т - числом, в якому групи по r двійкових розрядів зображають цифри мантиси з основою системи числення з. Прикладами вживаних основ порядку є числа 8 та 16. Використання для чисел з рухомою комою недвійкової основи порядку дещо зменшує точність обчислень (при заданому числі розрядів мантиси), але дозволяє збільшити діапазон чисел, що представляються в машині, і прискорити виконання деяких операцій, зокрема нормалізації, за рахунок того, що зсув проводиться відразу на кілька двійкових розрядів. Крім того, зменшується вірогідність появи ненормалізованих чисел в ході обчислень. Наприклад, у разі використання шістнадцяткових чисел з рухомою комою число X вважається нормалізованим, якщо старша шістнадцяткова цифра X відмінна від 0. Тобто у нормалізованому числі три старші двійкові цифри можуть дорівнювати 0. Це дещо зменшує точність представлення чисел при фіксованому числі розрядів мантиси. Якщо г старших шістнадцяткових розрядів мантиси рівні 0, то нормалізація в цьому випадку полягає в зсуві вліво мантиси на г шістнадцяткових розрядів і відповідному зменшенні показника порядку на г одиниць. Зсув на один шістнадцятковий розряд виконується як зсув мантиси відразу на чотири двійкові розряди. Розглянемо кілька прикладів. Припустимо, що потрібно подати у форматі з рухомою комою число 17. Для десяткової системи 17 = 17.0 х 10° = 1.7 х 101 = 0.17 х 102. Аналогічно в двійковій системі 1710 = 10001,х2° = 1000.1,x21 = 100.012х22= 10.0012х 23= 1.0001, х24 = 0.100012х 25. Якщо використати останній запис, то 8-розрядна мантиса числа буде рівною 10001000, а 5-розряд- ний порядок буде рівним 00101. Тоді число 17 в форматі з рухомою комою в двійковій системі має вигляд, показаний на рис. 2.8 а. Використовуючи формат з рухомою комою можна представляти числа в значно ширшому діапазоні, ніж використовуючи формат з фіксованою комою, при тих самих 14 розрядах. Так, на рис. 2.8 b) показано число 65536 = 0.12 х 217 у форматі з рухомою комою, для представлення якого у форматі з фіксованою комою потрібно було 6 16 розрядів. Як вже зазначалося, ідея зміщення порядку полягає в перетворенні його значень лише в додатні числа. Зміщення здійснюється шляхом додавання до кожного значення порядку фіксованого числа, рівного середньому значенню величини діапазону можливих чисел, яке вибирається для представлення нуля. В приведених вище прикладах як зміщення потрібно взяти число 16, тому що воно є середнім між 0 і 31 (порядок має бітів, тому дозволяє представити 25 = 32 значень). Будь-яке число, більше ніж 16, в полі порядку буде представляти додатне значення, а менше - від’ємне. Зауважимо іще раз, що значення порядку з усіма нулями та одиницями зазвичай резервується для спеціальних випадків (таких як нуль та нескінченість). Повернемося до попереднього прикладу. Ми обчислили 17 = 0.100012 х 25. Зміщення порядку рівне 16 + 5 = 21, і число має вигляд, показаний на рис. 2.9 а. Аналогічно для числа 0.25 = 1.0 х 2-2 будемо мати представлення, показане на рис. 2.9 b. На рис. 2.11 наведено два приклади використовуваного в комп’ютерах формату представлення чисел з рухомою комою. Зверху наведено формат, який був використаний в комп’ютерах CDC 6600, CDC 7000, та CYBER 170 фірми СКС, а знизу - формат, який був використаний в комп’ютерах системи ІВМ/370 фірми IBM, причому тут основою порядку є число 16, тому мантиса вважається нормалізованою, якщо є хоча б одна одиниця в перших її чотирьох розрядах Існує велика кількість задач, коли обробці підлягають масиви чисел, які змінюються в вузькому діапазоні значень. В цьому випадку з метою більш ефективного використання розрядної сітки для представлення чисел використовують так звану поблоково-рухому кому, коли для всього масиву чисел є лише один порядок. В спеціалізованих комп’ютерах це дозволяє суттєво зменшити витрати обладнання на побудову арифметико-логічного пристрою. При потребі іще більшого розширення діапазону представлення даних використовується так званий формат з рухомою-рухомою комою. Тут використовується два поля порядку, як це показано на рис. 2.12.
|
||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-08-01; просмотров: 641; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.14.131.180 (0.009 с.) |