ПОДАННЯ ЧИСЕЛ

Про двох формах представлення чисел

У комп'ютерній техніці для представлення чисел широко використовуються дві форми: природна і нормальна.

При природною формою подання число має єдиний вид запису

(2.7)

де q - основа системи числення (зазвичай q = 2); точкою (замість коми) число розділене на дві частини, одна з яких відображає цілу частину числа, інша - дробову частину (правильну дріб), наприклад: +195 - ціле позитивне число; -195 - ціле негативне число; +0.025 - правильна позитивна дріб; -195.025 - неправильна негативна дріб. Природна форма використовується для представлення цілих чисел і чисел з фіксованою точкою (коми).

При нормальній формі уявлення число записується у вигляді

( 2 . 8 )

де М, Р - мантиса і порядок числа.

Для нормальної форми подання характерна неоднозначна запис числа, наприклад: +195,025 = +195025 • 1 (Е3 = +19,5025 • 10 '= +0,195025 • 103. Нормальною формою відповідає уявлення чисел з плаваючою точкою.

Числова (як і будь-яка інша) інформація, що підлягає комп'ютерній обробці, представляється у вигляді я-розрядних двійкових кодів, для зберігання яких використовуються елементи пам'яті. Двійкові коди чисел мають різні формати. Формат числа являє собою сукупність розрядів (розрядну сітку), розділену на окремі поля: поле знака числа, поле модуля числа або мантиси, поле модуля порядку. В поле знака символом 0 позначається знак "+" позитивного числа, символом 1 - знак "-" негативного числа. Розглянемо особливості подання цілих чисел, чисел з фіксованою і плаваючою крапкою.

Цілі числа. На рис. 2.1, а наведено формат комп'ютерного представлення цілих (і - 1) розрядних чисел. Старший з розрядів і-розрядної сітки відводиться під знак числа, в інших розрядах розміщується модуль числа. При цьому вільні старші розряди заповнюються нулями. Як приклад на рис. 2.1, 6 наведено формат 5-розрядного двійкового числа -101012 (-2110) при використанні 8-розрядної сітки. Вільні 5-й і 6-й розряди заповнені нулями.

Якщо кількість значущих розрядів модуля числа перевищує п - 1, відбувається переповнення розрядної сітки.

Загальна форма (а) і приклад (б) представлення цілих чисел

Мал. 2.1. Загальна форма (а) і приклад (б) представлення цілих чисел

що приводить до помилки в поданні числа через втрату старших розрядів модуля.

Діапазон модулів чисел, які можуть бути представлені в "-розрядної сітці, - від 0 (при 0 у всіх розрядах модуля) до 2я'1 - 1 (при 1 у всіх розрядах модуля). Використовується два формати цілих чисел: короткий з числом розрядів п і довгий з числом розрядів 2 п. у процесі розрахунків використовується довгий формат, результати виводяться в короткому форматі.

Числа з фіксованою точкою. Для цієї форми подання чисел становище розрядів числа в розрядної сітці строго фіксоване і не залежить від його значення. Отже, точка (кома), що відокремлює цілу частину числа від його дробової частини, повинна займати постійне положення. Фіксація точки праворуч від самого молодшого значущого розряду (2.7) відповідає формі подання цілих чисел. Якщо точка фіксується перед старшим розрядом модуля числа (2.7), то комп'ютерне подання числа Дф з фіксованою точкою має вигляд правильного дробу, що відповідає умові

(2.9)

де п - 1 - число значущих розрядів числа.

Умова (2.9) має виконуватися для вихідних даних завдання і всіх проміжних результатів обчислень, що забезпечується шляхом вибору масштабного коефіцієнта К. При порушенні умови (2.9) число А. має цілу частину, яка втрачається, тому що не потрапляє в розрядну сітку через переповнення. Тому при визначенні масштабного коефіцієнта К слід виходити з максимального значення модуля задіяних при вирішенні задачі чисел, прийнявши До> Ітах. Тоді умова (2.9) для А ф = A / К буде виконуватися. На рис. 2.2, а наведено формат комп'ютерного представлення чисел з фіксованою точкою. При занесенні числа ЛФ в осередок пам'яті вільні молодші розряди розрядної сітки заповнюються нулями. Якщо число значущих розрядів модуля | ЛФ | більше п - 1, то молодші розряди модуля, які не вмістилися в розрядної сітці, губляться. Це призводить до похибки, абсолютне значення якої менше одиниці молодшого розряду розрядної сітки, тобто еабс <2 " '. При п = 32 абсолютна похибка еабс <2 ~ 31" 2 • 10 ~ 9.

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

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

Приклад 2.8. Нехай задані два числа А = -1010,1012 і В = +10,101012, для яких | А | > | В |. Тому масштабний коефіцієнт К> | А | = 24 = 10 0002. Ступінь 4 свідчить про необхідність зсуву на 4 розряду вправо вихідних чисел А і В. Дійсно

Формати комп'ютерного представлення чисел А ф і В ф показані на рис. 2.2, б, в. Для збереження точності комп'ютерного представлення числа В ф необхідно розширити розрядну сітку до 10 розрядів.

До гідності уявлення чисел у формі з фіксованою точкою слід віднести простоту виконання арифметичних операцій. Недоліки проявляються в тому, що необхідно робити вибір масштабних коефіцієнтів; нулі в старших розрядах модуля приводять до зменшення кількості розрядів, займаних значущою частиною модуля числа, в результаті цього знижується точність представлення чисел з малими значеннями модуля.

Числа з плаваючою крапкою. Для науково-технічних розрахунків необхідно представляти числа з високою точністю в широкому діапазоні значень. Зазначеним вимогам відповідає форма чисел з плаваючою точкою, яка має вигляд

де S - знак числа; Р - порядок; Е - зміщення порядку; | М | - модуль мантиси. Загальна кількість розрядів для представлення чисел з плаваючою точкою становить 1 + т + + р, один розряд відводиться під знак числа; т, р - кількість розрядів для представлення модуля мантиси і порядку відповідно.

Для однозначного уявлення чисел вводиться обмеження виду

(2.10)

де q - основа системи числення (зазвичай q = 2);

Форма подання чисел, для якої справедливо умова (2.10), називається нормалізованої формою подання чисел.

Зі стандартними форматами комп'ютерного кончини чисел можна ознайомитись в навчальному посібнику [18].

 
< Попер   ЗМІСТ   Наст >