Читайте также:
|
|
Для запису чисел у пам'яті комп'ютера застосовується форма з рухомою точкою з нормалізованою на одиницю мантисою. Існують декілька стандартів для запису дійсних чисел у пам’яті комп’ютера. Розглянемо стандарт IEEE.
Цим стандартом передбачені три формати для дійсних чисел: коротке дійсне (КД), довге дійсне (ДД) та довге довге дійсне (ДДД).
Код числа у форматі КД
,
де – знак числа; 0 – додатне число, 1 – від’ємне число; – розряди зміщеного порядку (8 бітів), зміщений порядок – це сума істинного порядку і числа
; – розряди дробової частини мантиси (23 біти).
У пам’яті комп’ютера код запишеться за принципом –старші розряди в старші байти:
Код числа у форматі ДД
,
де – знак числа: 0 – додатне число; 1 – від’ємне число, – розряди зміщеного порядку (11 бітів), у цьому форматі зміщений порядок – це сума істинного порядку та числа ; – розряди дробової частини мантиси (52 біти).
Код числа у форматі ДДД
,
де – знак числа, 0 – додатне число; 1 – від’ємне число; – розряди зміщеного порядку (15 бітів), у цьому форматі зміщений порядок – це сума істинного порядку та числа ; – розряди мантиси (64 біти). У цьому форматі 1 цілої частини нормалізованої мантиси зображається явно в 63 біті.
Застосування зміщених порядків дозволяє спростити операцію порівнювання дійсних чисел. Для цього досить порівняти їх порядки як цілі числа без знака. А оскільки операція порівнювання є домінуючою в обчислювальних програмах, то таке спрощення суттєво підвищує ефективність програм.
Якщо число у 2-системі є нескінченний дріб або кількість розрядів у дробовій частині нормалізованої мантиси перевищує 23 для формату КД, 52 для формату ДД та 63 для формату ДДД, то внаслідок відкидання надлишкових розрядів із заокругленням, воно запишеться з певною похибкою, яка не перевищує половини останнього збереженого розряду, тобто числа:
· (p – порядок числа з основою 2) для формату КД;
· для формату ДД;
· для формату ДДД.
Ці числа можна вибрати як граничні похибки запису чисел у пам’ять комп’ютера.
Приклад 1. Як запишеться в пам’яті комп’ютера число у форматах КД та ДД? Які істинні похибки запису чисел? Які граничні похибки?
Розв’язання
Формат КД:
–
;
– мантиса числа: ;
– порядок числа: ;
– зміщений порядок: ;
– код числа у форматі КД:
(заокруглено);
– у пам’яті комп’ютера код запишеться так:
– істинна похибка числа:
;
– відносна похибка:
;
– гранична похибка:
,
що більша, ніж істинна похибка.
Формат ДД:
– код числа ;
– у пам’яті комп’ютера код запишеться так:
– істинна похибка числа:
;
– відносна похибка:
;
– гранична похибка:
,
що більша, ніж істинна похибка.
Знайдемо тепер діапазони чисел для розглянутих вище форматів чисел із рухомою точкою.
Формат КД:
– код максимального додатного числа
;
– зміщений порядок ;
– порядок ;
– максимальне додатне число
;
– код мінімального додатного числа
;
– зміщений порядок: ;
– порядок: ;
– мінімальне додатне число
;
– діапазон нормалізованих чисел
;
– код додатного нуля ()
;
– код від’ємного нуля ()
;
– код нескінченності ()
;
– код нескінченності ()
.
Формат ДД:
– код максимального додатного числа
;
– зміщений порядок ;
– порядок ;
– максимальне додатне число
;
– код мінімального додатного числа
;
– зміщений порядок ;
– порядок: ;
– мінімальне додатне число
;
– діапазон нормалізованих чисел
;
– код додатного нуля (): ;
– код від’ємного нуля () ;
– код нескінченності (): ;
– код нескінченності (): .
Формат ДДД:
– код максимального додатного числа
;
– зміщений порядок: ;
– порядок: ;
– максимальне додатне число
;
– код мінімального додатного числа
;
– зміщений порядок ;
– порядок: ;
– мінімальне додатне число:
;
– діапазон нормалізованих чисел
;
– код додатного нуля ()
;
– код від’ємного нуля ()
;
– код нескінченності (): ;
– код нескінченності (): .
Числа, коди яких не потрапляють у розглянуті вище діапазони, утворюють клас ненормалізованих та денормалізованих чисел. Поява при виконанні арифметичних операцій в результаті ненормалізованих і денормалізованих чисел призводить до виняткових ситуацій, про які мікропроцесор сигналізує особливим чином.
Вправа 1. Як запишеться число в пам’яті комп’ютера у форматі КД та ДД. Яка істинна похибка запису?
а) ;
б) ;
в) ;
г) .
Дата добавления: 2015-12-01; просмотров: 1 | Нарушение авторских прав