Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
л.р.1-12.СПРГ-1(40, укр).doc
Скачиваний:
7
Добавлен:
27.08.2019
Размер:
2 Мб
Скачать
☆

3.2 Машинні формати дійсних чисел

Як ми вже з'ясували, дійсні базові величини можуть бути типу float (single), double або long double (extended). Всі вони мають для зберігання комірки різної довжини. Звідси й різний діапазон представлення для різних типів дійсних чисел, хоча ідея зберігання майже та сама.

3.2.1. Формат 32 біти - float (або single)

Число це зберігається в комірці довжиною 32 біта, які розподіляються в такий спосіб:

прихований розряд

 

 

S

Характеристика

7Fh ± порядок

Нормалізована мантиса

31

30

…

23

22

21

…

1

0

Біти

На характеристику виділяються 8 бітів (розряди 23-30).

Максимально можливе шістнадцятирічне число, яке можна розмістити в цих бітах, дорівнює FFh, а його половина по визначенню - це зсув = 7Fh. Оскільки для мантиси залишається всього 23 біта (розряди 0-22), а ми знаємо, що мантиса завжди нормалізована, виникає цілком резонне питання: навіщо зберігати найпершу одиницю мантиси? Нехай комп'ютер сам її відновлює. Таким чином, ця найперша одиниця в інформаційні розряди мантиси не входить (схований розряд), а на мантису в результаті приділяється не 23 біти, а 24. Таке представлення дозволяє вірно відображати 7-8 десяткових цифр.

3.2.2. Формат 64 біти - double

прихований розряд

 

 

S

Характеристика

3FFh ± порядок

Нормалізована мантиса

63

62

…

53

52

51

…

 

…

2

1

0

Біти

Тут ідея та ж сама, що й у попередньому форматі представлення дійсних даних. На все число приділяється комірку довжиною 64 біта. На характеристику витрачаються 11 бітів (розряди 52-62). Максимально можливе число, яке можна розмістити в 11-ти бітах: 111 1111 111lb.

Звідси потрібно, щоб зсув дорівнював 011 1111 1111b - 3FFh.

Мантиса теж має прихований розряд.

3.2.3. Формат long double (extended)

S

Характеристика

3FFFh ± порядок

Нормалізована мантиса

79

78

…

65

64

63

…

 

…

2

1

0

Біти

На все число приділяється 80 бітів. Цей формат є основним робочим форматом для даних співпроцесора. Тому, щоб не робити додаткових перетворень при обчисленнях, мантиса не має схованого розряду. На характеристику витрачаються 15 бітів (розряди 64-78). Максимально можливе число, яке можна розмістити в 15-ти бітах: 111 1111 1111 1111b. Звідси треба, що зсув дорівнював 011 1111 1111 1111b - 3FFFh.

У цьому форматі можна представити 19-20 десяткових цифр.