Основы объектно-ориентированного программирования на языке C# book | Page 106
6 Зображення чисел у комп’ютерi
Пiсля виконання програми на екранi з’явиться –1.490116E-008, то-
му що число 0.1 не може бути передане точно у жодному iз дiйсних
типiв. При цьому постiйно вiдбуваються округлення, завдяки яким
ми одержуємо в результатi не нуль, а майже нуль.
Коли ми маємо справу з обчисленнями з обмеженою точнiстю, ви-
никає парадокс. Наприклад, ми маємо точнiсть до трьох значущих
цифр. Додамо до числа 1.00 число 1.00 ∗ 10 −4 Ми мали б одержати
1.0001. Однак у нас обмежена точнiсть, тому ми змушенi округляти
до трьох значущих цифр. У результатi виходить 1.00. Iншими сло-
вами, до деякого числа ми додаємо iнше, яке бiльше нуля, i, через
обмежену точнiсть, одержуємо те саме число.
Означення 6.2. Найменше додатне число, при додаваннi якого до
одиницi результат не дорiвнює одиницi, називається машинним епсi-
лоном.
Написати програму для обчислення машинного епсiлона.
using System;
class Program
{
static void Main()
{
double r;
r = 1;
while (1 + r / 2 > 1) r = r / 2;
Console.WriteLine("{0:E20}", r);
}
}
У результатi буде отримане число 2.22044604925031310000E-016.
6.9 Завдання для самостiйноı̈ роботи
1. Перевести десятковi числа у двiйковi, вiсiмковi та шiстнадця-
тковi:
a)
b)
c)
d)
e)
38;
17.0162;
0.313;
7.127;
13.0015.
2. Перевести шiстнадцятковi числа в десятковi, двiйковi, вiсiмковi:
a) AC2F. F;
b) FF.F;
106