Тут представлені чотири числа (три позитивних і одне негативне) в природній формі (ліва колонка) і нормальної формі (центральна і права колонки). Всі числа мають однакові послідовності значущих (відмінних від нуля) чисел, але різні порядки (від сотень до сотих часток).
Природна форма запису числа відповідає формі представлення чисел з фіксованою комою. Для такого уявлення важливо місце коми. Для подання всіх чотирьох чисел без масштабування потрібно шестіразрядний регістр (три розряди для цілої частини числа і три - для дробової).
Нормальна форма являє ці числа у вигляді нормалізованої дроби з "індивідуальним" масштабним коефіцієнтом.
Наприклад: 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. Які параметри форматів даних з плаваючою комою, які Вам відомі.