Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ASM_05_float_LECTURE_ukr.doc
Скачиваний:
3
Добавлен:
09.09.2019
Размер:
249.34 Кб
Скачать

Внутрішнє представлення дійсних чисел.

Дійсні базові величини можуть бути типу float, double або long double Від платформи вони не залежать оскільки їх обробляє співпроцесор.

Визначення.

Десяткове число - l,23154x105 має від’ємний знак, його мантиса дорівнює 1,23154, а показник ступені дорівнює 5.

Внутрішнє (машинне) представлення дійсних чисел :

Знак числа

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

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

Наприклад, для 32-розрядного числа

Знак числа

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

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

1 біт

8 біт

23 біта

Знак числа: 0 - плюс, 1- мінус.

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

Характеристика = Зміщення ± Показник ступені (Порядок)

При представленні числа в комп'ютері до реального показника ступені додається|добавляє| число 127, тобто число, що дорівнює половині максимально можливого, яке може поміститися в полі „Показник ступені ”.

Приклади:

Десяткове значення (Е)

Скоректоване значення (Е+127)

+5

132

0

127

-10

117

+128

255

-127

0

-1

126

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

0

123

124

125

126

127

128

129

130

255

Показник ступені

-127

...

-4

-3

-2

-1

0

1

2

3

...

128

Таким чином економляться місце і час, оскільки не треба виділяти розряд для знаку порядку і робити додатковий код для від’ємних порядків.

Мантиса.

Приклади представлення чисел з плаваючою точкою.

Двійкове число

Десятковий дроб

Десяткове число

0,1

1/2

0,5

0,01

1/4

0,25

0,001

1/8

0,125

0,0001

1/16

0,0625

0,00001

1/32

0,03125

Точність представлення мантиси.

Через обмежену кількість розрядів, які використовуються для зберігання значення мантиси, неможливе точно представити значення дійсного числа у вигляді двійкового числа з|із| плаваючою комою. Комп'ютер буде оперувати тільки|лише| його наближеним значенням.

Для того, щоб з|із| максимальною точністю зберегти в пам'яті двійкове число з|із| плаваючою комою, його мантиса має бути нормалізована.

Процес нормалізації двійкового числа нічим не відрізняється від нормалізації десяткового дійсного числа. Наприклад, десяткове число 1234,567 в нормалізованому внде виглядає так:

l, 234567 x 103

тобто десяткова кома переноситься вліво або вправо так, щоб перед нею знаходилася|перебувала| тільки|лише| одна десяткова цифра. При цьому значення показника ступені визначає кількість цифр, на які треба перемістити десяткову кому вліво (при додатному значенні ) або вправо (при його від’ємному значенні).

Нормалізація двійкового числа виконується по аналогії з десятковим.

Таким чином, двійкове число повинне завжди починатися з одиниці і мати наступний вигляд:

± 1.m2*2р

де m2 - двійкова мантиса числа, р - порядок двійкового числа.

Прилади. Представити числа в нормалізованому виді.

± 1d ± 1b ± 1b*20

± 0.5d ± 0.1b ± 1.0b*2-1

± 0.703125d ± 0.101101b ± 1.01101b*2-1

± 0.05d ± 0.000011(0011) b ± 1.1(0011)b *2-5

± 117.25d ± 1110101.01b ± 1.11010101b*26

Ми бачимо, що десяткова точка "плаває", щоб забезпечити нормалізацію. То йде вліво і порядок отримує знак плюс, то - вправо, тоді у порядку знак мінус. Звідси і термін - плаваюча точка (floating point).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]