Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Двійкове кодування даних.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
530.84 Кб
Скачать

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. Як запишеться число в пам’яті комп’ютера у форматі КД та ДД. Яка істинна похибка запису?

а) ;

б) ;

в) ;

г) .