
- •1. Системи числення
- •2. Запис цілих чисел із діапазону у різних системах числення
- •3. Переведення s-чисел у 10-числа
- •4. Переведення 10-чисел у s-числа
- •4.1. Переведення цілих 10-чисел у цілі s-числа
- •4.2. Переведення дробових 10‑чисел у дробові s‑числа
- •5. Переведення 16-чисел 2-числа і навпаки
- •6. Додавання і віднімання в s-системі числення
- •7. Самостійна робота 1
- •7.1. Приклад виконання роботи
- •7.2. Варіанти завдань
- •8. Запис чисел у пам’яті комп’ютера
- •8.1. Запис цілих чисел у пам’яті у формі з фіксованою точкою
- •8.2. Запис чисел у пам’яті комп’ютера у формі з рухомою точкою
- •9. Самостійна робота 2
- •10. Побітові логічні операції над цілими числами
- •11. Самостійна робота 3
8.2. Запис чисел у пам’яті комп’ютера у формі з рухомою точкою
Для запису чисел у пам'яті комп'ютера застосовується форма з рухомою точкою з нормалізованою на одиницю мантисою. Існують декілька стандартів для запису дійсних чисел у пам’яті комп’ютера. Розглянемо стандарт IEEE.
Цим стандартом передбачені три формати для дійсних чисел: коротке дійсне (КД) , довге дійсне (ДД) та довге довге дійсне (ДДД).
Код числа у форматі КД
,
де
– знак
числа; 0 – додатне число, 1 – від’ємне
число;
– розряди
зміщеного порядку (8 бітів), зміщений
порядок – це сума істинного порядку
і числа
;
– розряди
дробової частини мантиси (23 біти).
У пам’яті комп’ютера код запишеться за принципом –старші розряди в старші байти:
Код числа у форматі ДД
,
де
– знак
числа: 0 – додатне число; 1 – від’ємне
число,
– розряди
зміщеного порядку (11 бітів), у цьому
форматі зміщений порядок – це
сума істинного порядку та числа
;
– розряди
дробової частини мантиси (52 біти).
Код числа у форматі ДДД
,
де
– знак
числа, 0 – додатне число; 1 – від’ємне
число;
– розряди
зміщеного порядку (15 бітів), у цьому
форматі зміщений порядок – це
сума істинного порядку та числа
;
– розряди
мантиси (64 біти). У цьому форматі 1 цілої
частини нормалізованої мантиси
зображається явно в 63 біті.
Застосування зміщених порядків дозволяє спростити операцію порівнювання дійсних чисел. Для цього досить порівняти їх порядки як цілі числа без знака. А оскільки операція порівнювання є домінуючою в обчислювальних програмах, то таке спрощення суттєво підвищує ефективність програм.
Якщо число у 2-системі є нескінченний дріб або кількість розрядів у дробовій частині нормалізованої мантиси перевищує 23 для формату КД, 52 для формату ДД та 63 для формату ДДД, то внаслідок відкидання надлишкових розрядів із заокругленням, воно запишеться з певною похибкою, яка не перевищує половини останнього збереженого розряду, тобто числа:
(p – порядок числа з основою 2) для формату КД;
для формату ДД;
для формату ДДД.
Ці числа можна вибрати як граничні похибки запису чисел у пам’ять комп’ютера.
Приклад
1.
Як запишеться в пам’яті комп’ютера
число
у
форматах КД та ДД? Які істинні похибки
запису чисел? Які граничні похибки?
Розв’язання
Формат КД:
–
;
– мантиса
числа:
;
– порядок
числа:
;
– зміщений
порядок:
;
– код числа у форматі КД:
(заокруглено);
– у пам’яті комп’ютера код запишеться так:
11001101 |
01001100 |
10100010 |
01000011 |
– істинна похибка числа:
;
– відносна похибка:
;
– гранична похибка:
,
що більша, ніж істинна похибка.
Формат ДД:
– код
числа
;
– у пам’яті комп’ютера код запишеться так:
99 |
99 |
99 |
99 |
99 |
49 |
74 |
40 |
– істинна похибка числа:
;
– відносна похибка:
;
– гранична похибка:
,
що більша, ніж істинна похибка.
Знайдемо тепер діапазони чисел для розглянутих вище форматів чисел із рухомою точкою.
Формат КД:
– код максимального додатного числа
;
– зміщений
порядок
;
– порядок
;
– максимальне додатне число
;
– код мінімального додатного числа
;
– зміщений
порядок:
;
– порядок:
;
– мінімальне додатне число
;
– діапазон нормалізованих чисел
;
– код
додатного нуля (
)
;
– код
від’ємного нуля (
)
;
– код
нескінченності (
)
;
– код
нескінченності (
)
.
Формат ДД:
– код максимального додатного числа
;
– зміщений
порядок
;
– порядок
;
– максимальне додатне число
;
– код мінімального додатного числа
;
– зміщений
порядок
;
– порядок:
;
– мінімальне додатне число
;
– діапазон нормалізованих чисел
;
– код
додатного нуля (
):
;
– код
від’ємного нуля (
)
;
– код
нескінченності (
):
;
– код
нескінченності (
):
.
Формат ДДД:
– код максимального додатного числа
;
– зміщений
порядок:
;
– порядок:
;
– максимальне додатне число
;
– код мінімального додатного числа
;
– зміщений
порядок
;
– порядок:
;
– мінімальне додатне число:
;
– діапазон нормалізованих чисел
;
– код додатного нуля ( )
;
– код від’ємного нуля ( )
;
– код нескінченності ( ): ;
– код
нескінченності (
):
.
Числа, коди яких не потрапляють у розглянуті вище діапазони, утворюють клас ненормалізованих та денормалізованих чисел. Поява при виконанні арифметичних операцій в результаті ненормалізованих і денормалізованих чисел призводить до виняткових ситуацій, про які мікропроцесор сигналізує особливим чином.
Вправа
1.
Як запишеться число
в
пам’яті комп’ютера у форматі КД та ДД.
Яка істинна похибка запису?
а)
;
б)
;
в)
;
г)
.