У вас тут справді два питання.
Навіщо комусь потрібна математика з плаваючою комою?
Як зазначає Карл Білефельдт, цифри з плаваючою комою дозволяють моделювати безперервні величини - і їх ви знайдете всюди - не лише у фізичному світі, але навіть у таких місцях, як бізнес та фінанси.
Я використовував математику з плаваючою комою в багатьох, багатьох областях в моїй кар’єрі програмування: хімія, робота над AutoCAD і навіть написання тренажера Монте-Карло, щоб робити фінансові прогнози. Насправді є хлопець на ім’я Девід Е. Шоу, який використовував застосовувані наукові методи моделювання з плаваючою комою на Уолл-Стріт, щоб отримати мільярди.
І, звичайно, є комп’ютерна графіка. Я консультуюся щодо розробки окулярів для очей для користувальницьких інтерфейсів, і намагаюся зробити це в наш час без чіткого розуміння плаваючої точки, тригонометрії, обчислення та лінійної алгебри, як би показати до боротьби з рушницею з кишеньковим ножем.
Навіщо комусь потрібен поплавок проти дубля ?
При стандартних поданнях IEEE 754 32-розрядний поплавок дає приблизно 7 десяткових цифр точності та показники в діапазоні від 10 -38 до 10 38 . 64-бітний подвійний дає приблизно 15 десяткових цифр точності та показники в діапазоні від 10 -307 до 10 307 .
Може здатися, що поплавка вистачить на те, що комусь розумно потрібно, але це не так. Наприклад, багато реальних величин вимірюються більш ніж 7 десятковими цифрами.
Але більш тонким є проблема, розмовно називана "помилка обрізання". Двійкові подання з плаваючою точкою справедливі лише для значень, дробові частини яких мають знаменник потужністю 2, як 1/2, 1/4, 3/4 тощо. значення для найближчого двійкового дробу, але це трохи неправильно - це "помилка округлення". Тоді, коли ви робите математику на цих неточних числах, неточності в результатах можуть бути набагато гіршими, ніж з того, з чого ви почали - іноді відсотки помилок примножуються або навіть накопичуються експоненціально.
У будь-якому випадку, чим більше двійкових цифр вам доведеться працювати, тим ближче ваше округлене бінарне представлення буде до числа, яке ви намагаєтесь представляти, тим його помилка округлення буде меншою. Тоді, коли ви займаєтесь математикою, якщо у вас є багато цифр для роботи, ви можете зробити набагато більше операцій, перш ніж накопичувальна помилка округлення накопичиться там, де це проблема.
Насправді, 64-розрядні парні з їх десятковими цифрами недостатньо хороші для багатьох програм. У 1985 році я використовував 80-бітні номери з плаваючою комою, і тепер IEEE визначає 128-бітний (16-байтовий) тип з плаваючою точкою, для якого я можу уявити собі використання.