- •Опорний конспект лекцій
- •Тематичний план курсу модуль I
- •Лекція № 1
- •Тема I: Предмет, методи і завдання дисципліни.
- •1. Предмет і задачі інформатики
- •2. Уявлення про інформаційне суспільство
- •Лекція № 2
- •Тема I: Предмет, методи і завдання дисципліни.
- •1. Історія розвитку обчислювальної техніки
- •1.1. Еволюція засобів обчислювальної техніки
- •1.2. Покоління сучасних комп’ютерів
- •1.2.2. Друге покоління комп’ютерів (1958–1960 роки)
- •2. Загальні відомості про персональний комп’ютер
- •2.1. Склад
- •2.2. Загальні відомості про пристрої, що входять до складу персонального комп’ютера
- •Лекція № 3
- •Тема 2: Теоретичні основи економічної інформатики.
- •Поняття економічної інформації, її особливості.
- •2. Класифікація й кодування економічної інформації
- •2.1. Система класифікації
- •2.2. Система кодування
- •3. Класифікація економічної інформації за різними ознаками
- •Лекція № 4
- •Тема 2: Теоретичні основи економічної інформатики.
- •1. Загальні відомості про системи числення
- •2. Системи кодування інформації в еом.
- •Кодування текстових даних
- •Базова таблиця кодування ascii
- •Кодування Windows 1251
- •Кодування кои-8
- •Кодування iso
- •Універсальна система кодування текстових даних
- •Кодова таблиця 0400 стандарту Unicode
- •Кодування графічних даних
- •Кодування звукової інформації
- •Одиниці виміру даних
- •3. Форми подання чисел в еом.
- •Лекція № 5
- •Тема 2: Теоретичні основи економічної інформатики.
- •1. Поняття інформаційної технології
- •Співставлення основних компонентів технологій
- •2. Класифікація інформаційних технологій
- •Інфор- матика
- •Основні характеристики нової інформаційної технології
- •3. Складові частини інформаційних технологій
- •Лекція № 6
- •Тема III: Системне забезпечення інформаційних процесів.
- •Поняття та призначення програмного забезпечення, класифікація
- •Загальні основи операційних систем
- •Призначення і функції ос
- •Класифікація ос
- •3. Мережні операційні системи
- •Мережні й розподілені ос
- •Функціональні компоненти мережної ос
- •Мережні служби й мережні сервіси
- •Вбудовані мережні служби й мережні оболонки
- •Однорангові й серверні мережні операційні системи
- •Вимоги до ос
- •Лекція № 7
- •Тема III: Системне забезпечення інформаційних процесів.
- •1. Логічна організація файлової системи
- •Мета і завдання файлової системи
- •Типи файлів
- •Ієрархічна структура файлової системи
- •Імена файлів
- •Монтування
- •Атрибути файлів
- •Логічна організація файлу
- •Фізична організація файлової системи
- •Диски, розділи, сектори, кластери
- •Фізична організація й адресація файлу
- •Фізична організація fat
- •Фізична організація s5 і ufs
- •Фізична організація ntfs
- •Захист від збоїв і несанкціонованого доступу
- •Основні поняття безпеки
- •Базові технології безпеки ос
- •Основні засоби захисту, убудовані в ос
- •Ядро безпеки ос
- •Механізм ідентифікації й аутентифікації в ос Windows nt
- •Механізми захисту в ос unix
3. Форми подання чисел в еом.
Посилаючись на принципи побудови ЕОМ, знову підкреслимо, що безпосередня обробка інформації машиною виконується над даними, що подані двійковими кодами. З цього випливає, що основною системою кодування чисел є двійкова система числення. Тому надалі будемо розглядати лише двійкові числа.
Для розміщення чисел в ЕОМ відводиться певне число розрядів, що завжди обмежене. Це число визначається під час розробки машини і далі залишається незмінним. Кількість розрядів, призначених для запису чисел в ЕОМ, утворює розрядну сітку машини. Зрозуміло, що довжина розрядної сітки визначає діапазон чисел, з яким оперує машина, і тому є однією з основних її характеристик.
Зараз використовується дві форми подання чисел в ЕОМ:
Природна форма та нормальна форма.
Розглянемо особливості запису чисел в розрядній сітці машини.
Природна форма подання чисел
Числові дані обробляються в комп'ютері в двійковій системі числення. Числа зберігаються в пам'яті комп'ютера в двійковому коді, тобто у вигляді послідовності нулів і одиниць, і можуть бути представлені у форматі з фіксованою або плаваючою комою.
Цілі числа зберігаються в пам'яті у форматі з фіксованою комою. При такому форматі представлення чисел для зберігання цілих ненегативних чисел відводиться регістр пам'яті, якій складається з восьми елементів пам'яті (8 біт). Кожному розряду елементу пам'яті відповідає завжди один і той же розряд числа, а кома знаходиться справа після молодшого розряду і поза розрядною сіткою. Наприклад, число 110011012 зберігатиметься в регістрі пам'яті таким чином:
8р |
7р |
6р |
5р |
4р |
3р |
2р |
1р (розряд) |
1 |
1 |
0 |
0 |
1 |
1 |
0 |
1 |
Це зображення числа у вигляді послідовності цифр, де комою відокремлюється його ціла та дрібна частина: А(2) = 1011,11; В(2) = -10011,11. Ця форма в найпоширенішою у математиці і тому знайома кожному. У розрядній сітці машини кома ніяк не позначається, але її місце чітко визначене. Тому природна форма числа має іншу назву: форма з фіксованою комою.
Максимальне значення цілого ненегативного числа, яке може зберігатися в регістрі у форматі з фіксованою комою, можна визначити з формули: 2n - 1, де п - число розрядів числа. Максимальне число при цьому дорівнюватиме 28 - 1 = 25510 = 1111111 Ці мінімальне 010 = 00000 0002. Таким чином, діапазон зміни цілих ненегативних чисел знаходитиметься в межах від 0 до 25510.
На відміну від десяткової системи в двійковій системі числення при комп'ютерному представленні двійкового числа відсутні символи, що означають знак числа : позитивний (+) або негативний (-), тому для представлення цілих чисел зі знаком в двійковій системі використовуються два формати представлення числа : формат значення числа зі знаком і формат додаткового коду. У першому випадку для зберігання цілих чисел зі знаком відводиться два регістри пам'яті (16 біт), причому старший розряд (крайній ліворуч) використовується під знак числа: якщо число позитивне, то в знаковий розряд записується 0, якщо число негативне, то - 1. Наприклад, число 53610 = 00000010000110002 буде представлено в регістрах пам'яті в наступному виді:
16р |
15р |
14р |
13р |
12р |
11р |
10р |
9р |
8р |
7р |
6р |
5р |
4р |
3р |
2р |
1р |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
а негативне число - 53610 = 10000010000110002 у виді:
16р |
15р |
14р |
13р |
12р |
11р |
10р |
9р |
8р |
7р |
6р |
5р |
4р |
3р |
2р |
1р |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
0 |
0 |
Реально у сучасних ЕОМ місце коми у запису числа визначається:
перед старшим розрядом числа. Це означає, що машина оперує лише з числами, меншими одиниці, тобто з дрібними числами;
після наймолодшого розряду числа. Це означає, що машина оперує лише з цілими числами.
Вибір місця розташування коми у розрядній сітці визначає людина при використанні машини для розв’язання конкретної задачі.
Довжина розрядної сітки впливає на можливий діапазон чисел, що може обробляти машина. Припустимо, що для розміщення числової частини числа відводиться m розрядів (один розряд залишається для знака числа) (рис. 1)
Рис. 1
Максимальним числом А, що може бути записане у m розрядах є таке, що має одиницю у кожному розряді. Якщо машина працює з цілими числами, це число має вигляд:
(17)
Це число у звичній десятковій системі має вигляд:
(18)
Наприклад, якщо m=15,
.
Це означає, що машина може оперувати з
числами, що лежать у діапазоні
.Тому
під час підготовки задачі для розв’язання
треба задавати вихідні дані таким чином,
щоб при виконанні обчислень будь-який
результат не вийшов за цей діапазон.
Якщо це не передбачити, може статися
переповнення розрядної сітки, коли
результат по довжині перевищить m
розрядів. Цифри розрядів, більших m-го,
будуть загублені, і результат буде
зіпсований.
Якщо машина працює з дрібними числами. Максимальне число, що може бути записане у m розрядах, має вигляд:
.
(19)
Переводячи число у десяткову систему одержимо:
.
(20)
Наприклад, для m = 15
.
Якщо будь-який результат у ході обчислень
перевищить
,
відбувається переповнення розрядної
сітки, що приводить до знівечення
розв’язання задачі.
Розрядна сітка обмежує також подання малих чисел. Найменшим числом, що може бути записане у розрядній сітці, є
,
тобто Аmin(10) = 2-m
(21)
Тому, якщо в ході обчислень утворюється число A<2-m, воно втрачається машиною, оскільки у всіх m розрядах будуть стоять нулі. Цей випадок називається машиним нулем і також веде до спотворення результату обчислень.
Таким чином, машина, що працює з дрібними числами, поданими у формі з фіксованою комою, вірно обробляє числа, що лежать у діапазоні
.
(22)
Обмеженість розрядної сітки призводить до похибки у поданні чисел. Абсолютна похибка, що виникає внаслідок округлення числа, не перевищує половини наймолодшого розряду, тобто
.
(23)
Ця похибка є постійною для всього діапазону чисел...
...точність результату буде тим більшою, чим більше числа, що обробляються машиною... Щоб забезпечити вірний результат та виключити появу переповнення розрядної сітки чи машиного нуля, виконується масштабування вихідних даних.
Комп'ютерне представлення чисел у форматі з фіксованою комою має свої переваги і недоліки. До переваг відносяться простота представлення чисел і алгоритмів реалізації арифметичних операцій, до недоліків - кінцевий діапазон представлення чисел, який може бути недостатнім для вирішення багатьох завдань практичного характеру (математичних, економічних, фізичних і так далі).
Нормальна форма подання чисел
Дійсні числа (кінцеві і нескінченні десяткові дроби) обробляються і зберігаються в комп'ютері у форматі з плаваючою комою. При такому форматі представлення числа положення коми в записі може змінюватися. Будь-яке дійсне число А у форматі з таваючою комою може бути представлено у виді:
,
(24)
де М – мантиса числа,
R –основа системи числення,
P – порядок числа.
Вираження (24) для десяткової системи числення прикмет вид: А10 - ±А 10±р, для двійкової - А2 = ±А 2±р, для вісімкової - А8 = ± А 8±р, для шістнадцятиричної – А16 = ± А 16±р і так далі
Така форма представлення числа також називається нормальною. Зі зміною порядку кома в числі зміщується, тобто як би плаває вліво або управо. Тому нормальну форму представлення чисел називають формою з плаваючою комою. Десяткове число 15,5, наприклад, у форматі з плаваючою комою може бути представлено у виді: 0,155·102; 1,55·101; 15,5·100; 155,0·10-1; 1550,0·10-2 і так далі. Ця форма запису десяткового числа 15,5 з плаваючою комою не використовується при написанні комп'ютерних програм і введенні їх в комп'ютер (пристрої введення комп'ютерів сприймають тільки лінійний запис даних). Виходячи з цього вираження (22) для представлення десяткових чисел і введення їх в комп'ютер перетворюють до виду
А = ±МЕ ± Р, (25)
де Р - порядок числа,
замість основи системи числення 10 пишуть букву Е, замість коми - точку, і знак множення не ставиться. Таким чином, число 15,5 у форматі з плаваючої коми і лінійного запису (комп'ютерне представлення) буде записано у виді: 0.155Е2; 1.55Е1; 15.5Е0; 155.0Е-1; 1550.0Е-2 і так далі.
Незалежно від системи числення будь-яке число у формі з плаваючою комою може бути представлене нескінченною безліччю чисел. Така форма запису називається ненормалізованою. Для однозначного представлення чисел з плаваючою комою використовують нормалізовану форму запису числа, при якому мантиса числа повинна відповідати умові
,
(26)
де |A| - абсолютне значення мантиси числа.
Умова (26) означає, що мантиса має бути правильним дробом і мати після коми цифру, відмінну від нуля, або, іншими словами, якщо після коми в мантисі стоїть не нуль, то число називається нормалізованим. Так, число 15,5 в нормалізованому виді (нормалізована мантиса) у формі з плаваючою комою виглядатиме таким чином: 0,155·102, тобто нормалізована мантиса буде А = 0,155 і порядок Р = 2, або в комп'ютерному представленні числа 0.155Е2.
Числа у формі з плаваючою комою мають фіксований формат і займають в пам'яті комп'ютера чотири (32 біт) або вісім байт (64 біт). Якщо число займає в пам'яті комп'ютера 32 розряди, то це число звичайної точності, якщо 64 розряди, то це число подвійної точності. При записі числа з плаваючою комою виділяються розряди для зберігання знаку мантиси, знаку порядку, мантиси і порядку. Кількість розрядів, яка відводиться під порядок числа, визначає діапазон зміни чисел, а кількість розрядів, відведених для зберігання мантиси, - точність, з якою задається число.
Умовний вигляд розрядної сітки у нормальній формі:
Ця форма широко використовується в
математиці, оскільки дозволяє зробити
запис числа більш стислим. Прикладами
десяткових чисел у нормальній формі є:
,
,
тощо. З цих прикладів випливає, що запис
числа у нормальній формі є неоднозначним:
,
тобто положення коми у мантисі змінюється в разі змінення величини порядку. Тому така форма має іншу назву: форма з плаваючою комою.
Форма з плаваючою комою, має здатність обробляти числа, що лежать у діапазоні
.
(27)
В разі однакової довжини розрядної сітки діапазон чисел у машинах з плаваючою комою значно ширший ніж діапазон чисел у машинах з фіксованою комою.
Довжина діапазону подання чисел у машинах з плаваючою комою є суттєвою її перевагою у порівнянні з машиною з фіксованою комою. Другою перевагою машини з плаваючою комою є точність подання чисел.
При виконанні арифметичних операцій (складання і віднімання) над числами, представленими у форматі з плаваючою комою, реалізується наступний порядок дій (алгоритм):
робиться вирівнювання порядків чисел, над якими здійснюються арифметичні операції (порядок меншого по модулю числа збільшується до величини порядку більшого по модулю числа, мантиса при цьому зменшується в таку ж кількість разів);
виконуються арифметичні операції над мантисами чисел;
робиться нормалізація отриманого результату.
Пояснимо сказане вище на прикладах.
Приклад І
Зробимо складання двох чисел 0,5·102 і 0,8·103 у форматі з плаваючою комою.
Рішення.
Проведемо вирівнювання порядків і складання мантис 0,05·103 +
0,8·103 = 0,85·103. Отримана мантиса 0,85 є нормалізованою, оскільки задовольняє умові (24).
Приклад 2
Зробимо складання двох чисел 0,1·22 і 0,1·23 у форматі з плаваючою комою.
Рішення.
Проведемо вирівнювання порядків і складання мантис: 0,01·23 + 0,1·23
= 0,11·23. Отримана мантиса 0,11 є нормалізованою, оскільки задовольняє умові (24).
