Основы объектно-ориентированного программирования на языке C# book | Page 101

6.7 Зображення дiйсних чисел ε 1 , визначену як найменше машинне число, результат додавання яко- го до 1 буде машинним числом бiльше 1. Нагадаємо, що для дiйсних типiв float , double кiлькостi бiтiв, що вiдводяться пiд характеристи- ку, дорiвнюють 8, 11. При цьому зсув дорiвнює вiдповiдно 127 i 1023. Мантиса має сховану одиницю. Цi данi нам знадобляться для подаль- ших обчислень. Величина порядку p = 1...1 вiдведена пiд спецiальнi (нечисловi) значення. Таким чином, найменшi за модулем додатне й вiд’ємне числа мають вигляд (трикрапка зазначає, що подiбне зобра- ження має мiсце для двох розглянутих дiйсних типiв) 0 0...01 0...0 1 0...01 0...0 Вiдповiдно, ε 0 для дiйсних типiв float , double дорiвнює 2 −126 , 2 −1022 . Праворуч вiд ε 0 розташовується множина точок, що йдуть одна за одною з кроком 2 p min −n де n – кiлькiсть бiтiв для зображення мантиси конкретного дiйсного типу. Чим правiше числа, тим бiльше буде крок мiж ними. Наприкiнцi дiапазону зображення вiдстань мiж двома су- сiднiми точками досягає 2 p max −n . При цьому максимальнi за модулем додатне й вiд’ємне числа мають вигляд 0 1...10 1...1 1 1...10 1...1 Вiдповiдно, ε ∞ дорiвнює 2 −128 , 2 −1024 . Знайдемо значення ε 1 . Зображення числа 1 має вигляд float double 0 01111111 0...0 0 01111111111 0...0 а найближче до 1 зверху машинне число – float double 0 01111111 0...01 0 01111111111 0...01 Вiдповiдно, ε 1 дорiвнює 2 −24 , 2 −53 та 2 −64 . Важливою характеристикою комп’ютера є спiввiдношення ε 0 , ε 1 , ε ∞ . Означення 6.1. Характеристики точностi називаються збалан- сованими, якщо виконуються нерiвностi ε 0 < ε 21 , ε ∞ > ε −2 1 . Якщо цi умови не виконанi, то при реалiзацiı̈ обчислювальних задач необхi- дно використовувати спецiальнi прийоми. Описанi особливостi машинного зображення дiйсних чисел приво- дять до того, що не для всiх його елементiв вiрнi такi спiввiдношення: 101