У вас действительно есть два вопроса здесь.
В любом случае, зачем кому-то нужна математика с плавающей точкой?
Как указывает Карл Билефельдт, числа с плавающей точкой позволяют моделировать непрерывные величины - и вы найдете их повсюду - не только в физическом мире, но даже в таких местах, как бизнес и финансы.
Я использовал математику с плавающей точкой во многих, многих областях моей карьеры программиста: химию, работу над AutoCAD и даже написание симулятора Монте-Карло для финансовых прогнозов. Фактически, есть парень по имени Дэвид Э. Шоу, который использовал прикладные методы научного моделирования с плавающей точкой на Уолл-стрит, чтобы заработать миллиарды.
И, конечно же, есть компьютерная графика. Я консультируюсь по разработке приятных глаз для пользовательских интерфейсов, и попытка сделать это в наше время без четкого понимания с плавающей запятой, тригонометрии, исчисления и линейной алгебры - это все равно что сражаться с оружием с помощью карманного ножа.
Зачем кому-то нужен поплавок против двойника ?
В стандартном представлении IEEE 754 32-разрядное число с плавающей запятой дает вам около 7 десятичных знаков точности и показатели в диапазоне от 10 -38 до 10 38 . 64-битный дубль дает около 15 десятичных знаков точности, а показатели в диапазоне от 10 -307 до 10 307 .
Может показаться, что поплавка будет достаточно для того, что кому-то разумно понадобится, но это не так. Например, многие реальные величины измеряются более чем 7 десятичными цифрами.
Но более тонко, есть проблема, в разговорной речи называемая «ошибка округления». Двоичные представления с плавающей запятой действительны только для значений, дробные части которых имеют знаменатель со степенью 2, например 1/2, 1/4, 3/4 и т. Д. Чтобы представить другие дроби, например 1/10, вы «округлите» значение ближайшей двоичной дроби, но это немного неправильно - это «ошибка округления». Затем, когда вы делаете математику с этими неточными числами, неточности в результатах могут быть намного хуже, чем вы начали - иногда процент ошибок увеличивается или даже накапливается экспоненциально.
В любом случае, чем больше двоичных цифр вам нужно работать, тем ближе будет округленное двоичное представление к числу, которое вы пытаетесь представить, поэтому ошибка округления будет меньше. Затем, когда вы выполняете математические расчеты, если у вас есть много цифр для работы, вы можете сделать гораздо больше операций, прежде чем накопительная ошибка округления возрастет до места, где это является проблемой.
На самом деле, 64-битные двойные числа с их 15 десятичными цифрами не достаточно хороши для многих приложений. В 1985 году я использовал 80-битные числа с плавающей запятой, и теперь IEEE определяет 128-битный (16-байтовый) тип с плавающей запятой, который я могу себе представить.