КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Форма представлення чисел. Кодування чисел
Сукупність розрядів регістру, призначених для зберігання чисел, називається розрядною сіткою машини. В розрядній сітці числа можуть бути представлені в природній або нормальній формі. Природна форма інакше називається формою представлення числа з фіксованою точкою, а нормальна – з плаваючою точкою. Форма представлення чисел з фіксованою точкою Ця форма використовується для запису цілих чисел. Ціле число може займати 1, 2, 4 байти. 1 байт – 8 біт – 8 розрядів. Форма запису цілого числа в комірку, довжиною в 1 байт:
зн – 1, якщо число < 0 0, якщо число > 0. Від’ємні числа можуть бути представлені в прямому, зворотному та додатковому кодах. В прямому коді достатньо в знаковий розряд помістити 1. В зворотному коді всі нулі заміняються на 1, а 1 на нулі. Додатковий код формується таким же чином як і зворотний, але додається 1 в молодший розряд. Приклади:
Використання додаткового та зворотного коду дозволяє операцію віднімання звести до операції додавання, а множення до операції додавання та здвигу. Фома представлення чисел з плаваючою точкою В нормальній формі будь-яке число складається з двох груп де m – мантиса, тобто правильний дріб <1; p – порядок числа; q – основа системи числення Числа з плаваючою точкою представляються в двох форматах: короткому – 4 байти (32 біти) та довгому – 8 байт (64 біти).
У випадку комірки довжиною 4 байти точність складає 7 десятинних значущих чисел. З використанням комірки 8 байт точність збільшується до 16 десятинних значущих розрядів. Наведемо приклад запису числа 178.125, як 4-х байтової змінної з плаваючою точкою. На першому етапі потрібно перевести задане число до двійкової системи числення (відповідно, його цілої та дробової частини). 178.125(10) = 10110010.001(2). На другому етапі необхідно його нормалізувати. Стандартом IEEE 754 передбачений наступний механізм нормалізації, за яким у цілій частині числа залишається цифра 1. Так як у двійковій системі числення, при нормалізації числа, на першому місці буде завжди залишатись 1-ця, це дає змогу зекономити 1 біт та не записувати цю одиницю до мантиси. Таким чином, цей біт використовується на розширення порядку числа, а кількість бітів мантиси зменшується на один. Отже, для запису числа з плаваючою точкою розміром в 4 байти, фактично на порядок числа відводиться 7+1 = 8 біт, а на мантису 24–1 = 23 біта (але число в мантису записується розміром в 24 біта, так як 1-ця не пишеться, але має місце). При нормалізації число 10110010.001(2) буде виглядати наступним чином: 1.0110010001*27. На третьому етапі переведемо порядок числа в двійкову систему числення. Так як порядок розширюється на 1 біт – він може приймати значення від 0 до 255. Але треба врахувати від’ємний та додатній порядок. Нульове значення порядку приймається рівним 127 (27–1). Отже, від’ємний порядок – від 0 до 126, 127 – характеризує нульове значення порядку (база), від 128 до 255 – додатній порядок. В нашому випадку порядок дорівнює 7, тобто 127 + 7 = 134(10). 134(10) = 10000110(2) На останньому етапі запишемо отримане число в комірку пам’яті.
Стандарт IEEE 754 застосовується сучасними засобами програмного забезпечення низького та високого рівнів на сучасних персональних комп’ютерах. Діапазони чисел в 4-байтовій та 8-байтовій комірках: –2128<X<2128 або –3.402823*1038 <X<3.402823*1038 (для 4-х байтів); –21024<X<21024 або –1.79769313486231*10308<X<1.79769313486231*10308 (для 8-ми).
|