Подання числових даних з плаваючою комою

Тут представлені чотири числа (три позитивних і одне негативне) в природній формі (ліва колонка) і нормальної формі (центральна і права колонки). Всі числа мають однакові послідовності значущих (відмінних від нуля) чисел, але різні порядки (від сотень до сотих часток).

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

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

Наприклад: 350,0 = 0,35 '10 3. У загальному випадку число А в нормальній формі записується як: А = m' q n. де:

m мантиса - нормалізована дріб,

q підставу системи числення,

n порядок числа.

Нормальна форма подання відповідає формі представлення чисел з плаваючою комою. Це напівлогарифмічний форма представлення чисел. Вона надає більш широкий діапазон представлення чисел при обмеженою розрядності регістрів зберігання.

Підстава системи числення (q) задається за замовчуванням. Для більшості мікропроцесорів q = 2.

У разі завдання підстави системи числення за замовчуванням, число 350,0 може бути записано у вигляді пари чисел: 35 і 3. Перше число - це запис значущих чисел, друге число (порядок числа) можна інтерпретувати, як координату коми. В даному випадку місце коми - після третьої позиції цифр числа. Звідси випливає і назва форми подання чисел - з плаваючою комою.

Порядок числа може бути як позитивним, так і негативним. Для чисел великих одиниці - порядок позитивний, для дрібних чисел - негативний.

Для спрощення обробки чисел у формі з плаваючою комою використовують "зрушений" порядок - характеристику. Характеристика - це порядок "зрушений" в область позитивних значень. Для отримання характеристики з порядку в старший розряд порядку додають 1.

Наприклад, нехай для запису порядку використовуються три двійкових розряди. З урахуванням знака в ці розряди можна записати числа в діапазоні від мінус 4 до плюс 3:

Порядок в додатковому коді

У додатковому коді характеристика відрізняється від порядку тим, що у неї змінений знаковий розряд. Основна перевага цієї кодування полягає в тому, що в ній простіше визначати співвідношення порядків оброблюваних чисел.

Таким чином, для представлення чисел у формі з плаваючою комою потрібно регістр з трьома полями для запису знака числа (знака мантиси), мантиси і характеристики (порядку зі знаком).

Як правило, в ЕОМ негативні значення чисел (мантиси) задаються в прямому коді.

Мантиса - це нормалізована дріб.

За класичним визначенням, нормалізована дріб - це дріб, у якої перша цифра після коми відмінна від нуля, тобто для нормалізованої дробу повинно виконуватися умова: ÷ m ê<1

Для двійкової системи числення нормалізована дріб має вигляд 0,1 А2 а3 і т.д. тобто | m |> 1/2.

Перші ЕОМ використовували саме такі мантиси. Але, при такому записі, цілі числа представлялися з похибкою. Наприклад, число 1 уявлялося у вигляді мантиси: 0,111111111 ... 11 з нульовим порядком.

При цьому твір 2'2 після перекладів вихідних чисел з десяткової системи числення в двійкову і результату - назад в десяткову ЕОМ видавала у вигляді дробового числа: 3,99999.

У сучасних ЕОМ, наприклад в РС Intel і PDP-11, мантиссу визначають як неправильну дріб, ціла частина якої дорівнює 1, тобто 2> m ≥1.

У цьому випадку цілі числа задаються без похибок. Але справа тут не стільки в властивості систем числення, скільки в методах перекладу чисел. Наприклад, число 1 можна задавати без похибки і при дробової мантисі: 1 = 0,1 (2) '2 1

Залежно від необхідної точності представлення чисел в ЕОМ використовується ряд форматів для зберігання і обробки чисел формі з плаваючою комою.

Наприклад, в МП Intel передбачені три формату: короткий формат (звичайної точності), формат подвійної точності і розширений (речовинний) формат (real).

Два перших формату використовуються тільки для зберігання даних в пам'яті. Перед обчисленнями числа з цих форматів переводяться в речовинний формат.

Числа з плаваючою комою в форматі звичайної і подвійної точності при завантаженні в модуль обробки автоматично перетворюються в формат розширеної точності. Для виключення втрати точності в довгих ланцюжках обчислень передбачена можливість зберігання проміжних результатів обчислень в пам'яті і в форматі розширеної точності

Короткий формат. знак числа (мантиси) - 1 біт, характеристика (зрушений порядок): - 1 байт і мантиса: - 3 байта. При зберіганні в пам'яті першу значущу цифру мантиси (в старих ЕОМ - одиницю після коми або, в сучасних ЕОМ, - одиницю до коми) не записував (задають за замовчуванням). В результаті цього, короткий формат чисел з плаваючою комою при зберіганні містить 32 біта (4 байта).

Формат подвійної точності. знак числа (мантиси) - 1 біт, характеристика (зрушений порядок): - 11 біт і мантиса: - 53 біта (включаючи першу приховану цифру). Всього, з урахуванням прихованого цифри мантиси, - 64 біта (8 байт).

Розширений (речовинний) формат. знак числа (мантиси) - 1 біт, характеристика (зрушений порядок) - 15 біт, мантиса - 64 біт (8 байт), включаючи першу цифру мантиси. Всього - 80 біт (10 байт).

Питання для самоперевірки

1. Назвіть дві основні причини використання двійкової системи числення в ЕОМ.

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

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

4. У чому причина використання в машинної арифметики додаткового і зворотного кодів.

5. Визначте асиметрію додаткового коду.

6. Назвіть особливості і причини використання модифікованого додаткового коду.

7. Назвіть особливості використання зворотного коду (переваги і недоліки).

8. Охарактеризуйте форму представлення чисел з фіксованою комою.

9. Назвіть основні переваги та недоліки використання форми подання чисел з фіксованою комою для машинної обробки даних.

10. Охарактеризуйте форму представлення чисел з плаваючою комою.

11. Назвіть основні переваги та недоліки використання форми подання чисел з плаваючою комою для машинної обробки даних.

12. Які параметри форматів даних з фіксованою комою, які Вам відомі.

13. Які параметри форматів даних з плаваючою комою, які Вам відомі.

Схожі статті