logo
Лабораторна 4_1_семестр

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

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

Використання прямого, оберненого чи доповненого кодів для представлення цілих чисел, а також бінарних форматів чисел з плаваючою комою для представлення дійсних чисел має ряд позитивних переваг перед іншими способами кодування з огляду на простоту реалізації арифметичних дій за допомогою електронних схем, а також високу швидкість виконання цих дій. Однак, як було показано в розділі 3.1, бінарне кодування має ряд суттєвих недоліків, серед яких особливо слід відмітити недоліки, пов'язані з нескінченним двійковим представленням скінченних десяткових дробів та з правилами округлення двійкових чисел, які не відповідають загальноприйнятим правилам округлення десяткових чисел. Одним із способів усунення цих, та інших недоліків, є представлення десяткових чисел за допомогою такого спеціального бінарного кодування, яке забезпечувало би швидкий та простий перехід між десятковою та двійковою системами числення. Реалізація арифметичних дій між числами, закодованими таким чином, може здійснюватись як за допомогою апаратних засобів ЕОМ (електронні схеми). так і програмним чином. Зрозуміло, що таке кодування неминуче ускладнює електронні схеми арифметико-логічних пристроїв мікропроцесорів та збільшує час виконання таких арифметичних дій.

Якщо кодування вибране, то реалізація десяткових чисел з плаваючою комою полягає в наступному:

1. Число А, яке необхідно представити, слід записати в вигляді:

, (4.8)

де s - 0 для додатних та 1 для від'ємних чисел;

М - мантиса, яка записується в вигляді цілого додатного числа, що має k десяткових розрядів.

e - експонента, яка визначає порядок числа.

Числа M та e записуються в десятковій системі числення.

Особливість десяткової мантиси в тому, що вона не містить дробових розрядів, наприклад число -23,567 буде записане як

,

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

2. Числа M та e за допомогою вибраного кодування записуються в двійковій системі числення. Як правило, число М кодують спеціальним бінарним кодом, а до числа e застосовують зміщений двійковий код, який забезпечує представлення як додатних, так і від'ємних експонент.

3. Виділяють певні поля бітів для запису кодованих знака, експоненти та мантиси. Сукупність цих величин, та їхня загальна довжина задає формат десяткових чисел з плаваючою комою.

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

Увага! Бінарні формати ІЕЕЕ754-2008 описують двійкові числа з плаваючою комою, на відміну від десяткових чисел з плаваючою комою, які тільки записуються за допомогою спеціального двійкового кодування. Однак як двійкові, так і десяткові числа з плаваючою комою є різними представленнями дійсних (реальних) десяткових чисел.