
- •2. Обладнання
- •3. Короткі відомості з теорії
- •3.1. Основні недоліки стандарту іеее754-1985.
- •3.2. Четверний (128-бітний) формат.
- •3.3. Приклад Румпа.
- •3.4. Особливості стандарту іеее Std 754-2008.
- •3.5. Бінарні формати стандарту іеее Std 754-2008.
- •3.5. Принципи представлення десяткових чисел з плаваючою комою.
- •3.6. Двійково-десяткове кодування.
- •3.7. Щільно упаковані десяткові числа.
- •3.8. Десяткові числа з плаваючою комою стандарту іеее754-2008.
- •3.9. Властивості десяткових чисел з плаваючою комою.
- •3.10. Формати десяткових чисел з плаваючою комою стандарту іеее754-2008.
- •4. Порядок виконання роботи.
3.9. Властивості десяткових чисел з плаваючою комою.
Розглянемо для прикладу десятковий формат довжиною 32 біти.
1. Знак займає старший біт представлення.
2. Комбіноване поле G займає 5 наступних бітів.
3. Залишок мантиси займає останніх n = 20 бітів, а отже він представляє 6 = 3×n/10 десяткових цифр. Загальна кількість десяткових цифр всієї мантиси k = 6 + 1 = 7. Слід зауважити, що найбільше значення мантиси становить 9999999d, а найменше ненульове - 0000001d. Однак це найменше значення має всього одну значущу цифру представлення і відноситься до так званих субнормальних десяткових цифр. Найменше значення мантиси, яке має k = 7 значущих цифр становить 1000000d
4. Залишок зміщеної експоненти займає m = 6 бітів, а отже повна зміщена експонента - 8 бітів. Мінімальне значення Е становить 0000 0000 = 0, максимальне - 1011 1111b = 191d. Зміщення bias вибирається виходячи із співвідношення bias =3×2m-1+ k - 2. Для формату 32 біти bias =3×26-1+ 7 - 2 = 101. Таким чином мінімальне значення експоненти становить -101, а максимальне - +90.
Таким чином найбільше число, що має k = 7 значущих цифр, яке може бути представлене в даному форматі становить
Аmax = ±9999999×10+90 = ±9,999999×10+96, а найменше -
Аmin = ±1000000×10-101 = ±1,000000×10-95
Найменше субнормальне десяткове число з плаваючою комою містить тільки одну значущу цифру і дорівнює ±1×10-101.
Абсолютна похибка нормальних чисел не перевищує ваги одиниці наймолодшого розряду мантиси і становить
,
а відносна становить
від
до
.
Порівняємо десяткові та двійкові числа з плаваючою комою одного і того ж формату 32 біти.
Для обох форматів кількість значущих цифр однакова і рівна 7.
Для бінарного формату діапазон нормальних чисел значно менший (від Аmax ≈±3,40∙1038 до Аmin ≈±1,17∙10-38) в порівнянні з десятковим форматом (від Аmax ≈ ±10+97 до Аmin = ±10-95).
Відносна похибка представлення для бінарних чисел з плаваючою комою на порядок менша ніж для десяткових (для бінарних максимальна δ ≈ 1,19∙10-7)
До переваг десяткових чисел з плаваючою комою слід також віднести абсолютну точність представлення реальних десяткових чисел, кількість значущих цифр яких не перевищує максимально можливу для даного представлення.
Таким чином десяткові числа з плаваючою комою є набагато перспективніші ніж бінарні числа з плаваючою комою, оскільки мають більше переваг. Недоліком можна вважати складність представлення, що з огляду на швидкий розвиток обчислювальної техніки є тимчасовою проблемою, яку в найближчий час буде вирішено.
3.10. Формати десяткових чисел з плаваючою комою стандарту іеее754-2008.
Подібно до бінарних форматів стандарт ІЕЕЕ754-2008 специфікував також і десяткові формати чисел з плаваючою комою. Це три базові формати Decimal 32, Decimal 64 та Decimal 128, а також сімейство множинних форматів, загальна довжина яких W = 32∙k, де k - будь-яке натуральне число. Отже можливі такі довжини форматів: 32∙1 = 32 біти, 32∙2 = 64 біти, 32∙3 = 96 бітів, 32∙4 = 128 бітів, 32∙5 = 160 бітів, 32∙6 = 192 біти, 32∙7 = 224 біти, 32∙8 = 256 бітів тощо. Таким чином, всі базові формати фактично входять в сімейство множинних. В табл. 4.5. приведено можливі формати бінарних чисел з плаваючою комою.
Параметр |
Decimal 32 біти |
Decimal 64 біти |
Decimal 128 бітів |
Decimal W бітів (W ≥ 32) |
W, загальна довжина формату |
32 |
64 |
128 |
W кратне 32 бітам |
m+2, довжина експоненти |
8 |
10 |
14 |
W/16+6 |
n, довжина залишку мантиси |
20 |
50 |
110 |
15×W/16-10 |
k, точність представлення в десяткових розрядах |
7 |
16 |
34 |
9×W/32-2 |
emax, максимальна експонента |
96 |
384 |
6176 |
3×2W/16+3 |
emin, мінімальна експонента |
-95 |
-383 |
-6176 |
1-3×2W/16+3 |
bias, зміщення |
|
|
|
emax+k-2 |
максимальне число Аmax |
±1096 |
±10384 |
±106176 |
10^(3×2W/16+3) |
Таблиця 4.5. Параметри десяткових форматів ІЕЕЕ754-2008-чисел.
Таким чином стандарт ІЕЕЕ754-2008 описує широкий набір як бінарних, так і десяткових форматів чисел з плаваючою комою, які можуть використовуватися для організації обчислень з різною точністю та діапазоном представлення чисел.
Приклад 1. Число -444,5553 записати в форматі десяткових чисел з плаваючою комою одинарної точності стандарту ІЕЕЕ-754-2008.
Запишемо число -444,5553 в такому вигляді:
-444,5553 = (-1)1×4445553×10-4.
1. Знаковий біт рівний 1.
2. Одинарний стандарт має 7 значущих цифр, тому всі сім цифр кодуються. 4 іде в поле G, із шести інших формуємо тріади 445 та 553.
445 кодується в BCD як 0100 0100 0101. Всі цифри малі, тому відповідний їм DPD-код становить 1001000101.
Аналогічно отримуємо для 553 BCD = 0101 0101 0011, а DPD-код становить 1011010011.
експонента рівна -4, тому зміщена експонента рівна -4+101 = 97b = = 0110 0001. Отже в поле Е' записуємо молодших 6 бітів: 100001.
Формуємо поле G. Старші біти експоненти рівні 01, а старша цифра мантиси - 4 = 0100. Тому поле буде мати вигляд 01100.
Записуємо поля S, G, E' та M':
31 |
25 19 |
0 |
|||||||||||||||||||||||||||||
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
1 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
B2h |
19h |
16h |
D3h |
Відповідь: -444,5553 = B21916D3h.