ВСТУП
Арифметичні дії над числами з плаваючою комою вимагають виконання, крім операцій над мантиси, визначених операцій над порядками (порівняння, віднімання та ін.). Для спрощення операцій над порядками їх зводять до дій над цілими позитивними числами (цілими числами без знаків), застосовуючи представлення чисел з плаваючою комою зі «зміщеним порядком». Стандарт формату представлення чисел з плаваючою точкою lt; # justify gt ;. ТЕОРЕТИЧНІ ВІДОМОСТІ
. 1 Основні формати даних та їх представлення
Стандарт IEEE 754 визначив два основні формати: з одинарною точністю (32 біта) і з подвоєною точністю (64 біта) ріс.1-1. Крім того, визначені допоміжні розширені формати із звичайною і з підвищеною точністю призначені для зниження помилок округлення та використання в проміжних обчисленнях.
Код знака (+) - 0, знака (-) - 1. Коди мантиси і зміщеного порядку двійкові. Підстава порядку і мантиси 2.
При довжині поля порядку 8 біт зміщення bias=127.
При довжині поля порядку 11 біт зміщення bias=1 023.
Граничні коди в поле порядку, що містять всі нулі чи всі одиниці, використовують для спеціальних цілей.
Коди від 00 ... 01 до 11 ... 10 включно кодують зміщений порядок нормалізованого числа.
Так як, то мінімальні порядки нормалізованих чисел
- у форматі з одинарною точністю 1-127=- 126;
- у форматі з подвоєною точністю 1-1023=- 1022.
Оскільки, то максимальні порядки нормалізованих чисел
- у форматі з одинарною точністю 254-127=+127;
- у форматі з подвоєною точністю 2046-1023=+1023.
мантиси представляють як число без знака. Знак відносять до всього числу. Нормалізована мантиса. Старший розряд нормалізованої мантиси у всіх форматах IEEE 754 має вагу 20 і заданий за замовчуванням рівним 1. У розрядній сітці зберігається не мантиса, а розряди її дробової частини (fraction), розташовані праворуч від коми. Таким чином, значення нормалізованої мантиси містить 24 або 53 розряду (на один розряд більше, ніж розрядність коду дробової частини мантиси у форматі).
Максимальне значення мантиси нормалізованої 1,11 ... 1 і майже дорівнює 2. Мінімальне значення нормалізованої мантиси 1,00 ... 0 одно 1.
Якщо мантиса нормалізована, то код зміщеного порядку не може бути 11 ... 1 або 00 ... 0.
ненормализованном мантиса відрізняється від нормалізованої тим, що неявно заданий розряд цілого дорівнює 0, а поле дробової частини має значення відмінне від нуля. При цьому код в поле зміщеного порядку 00 ... 0 і він відповідає мінімальному порядку
(- 126) або (- 1022). Отже, мінімальний порядок - 126 (- 1022) представлений двома кодами в полі зміщеного порядку - 00 ... 01, якщо мантиса нормалізована;
- 00 ... 00, якщо мантиса ненормализованном.
Код числа рівного нулю містить в полях зміщеного порядку і мантиси 00 ... 0, а в полі знака 0 або 1. Отже, число рівне нулю може бути представлено у форматі як (+0) або як (-0). Цей код можна інтерпретувати як ± 0,0? 2-126 або ± 0,0? 2-1022 в залежності від типу формату.
Код в поле зміщеного порядку, що містить 1 у всіх бітах при нульовій дробової частини мантиси означає, що число дорівнює або залежно від вмісту поля знака. Число з цим значенням може бути операндом або результатом операції. Нескінченності повинні інтерпретуватися в єдиному сенсі, тобто як
lt; (будь-яке кінцеве число) lt;
Код в поле зміщеного порядку, що містить 1 у всіх бітах при ненульовий дробової частини мантиси означає, що формат містить нечислову величину (значення NaN - Not a Number - не числом), тобто символи, закодовані в поле дробової частини мантиси. Стандарт надає конструктору можливість кодувати будь-яку нечислову інформацію на його розсуд, без будь яких обмежень. Значення NaN використовують для запису у формат діагностичної інформації утворюється в процесі обчислень.
Типи даних подаються у форматах наведені на ріс.1-2.
Нескінченності і NaN можуть бути операндами і результатами арифметичних операцій.
Значення або можуть бути результатами виконання операцій над першими трьома типами даних, якщо
- виконується розподіл на нуль операнда не дорівнює нулю і відсутня обробка цієї виняткової ситуації, знак нескінченності визначається як сума по модулю 2 знаків операндів;
-не виконується обробка виняткової ситуації переповнення при перевищенні результатом верхніх меж діапазону чисел представимих у форматі результату і результат округлення дорівнює.
Якщо одним з операндів ...