logo search
Лабораторна 4_1_семестр

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

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.