В общем, люди всегда заботятся об ошибках с плавающей точкой. Однако я не согласен с Андреем и не думаю, что поплавки предпочтительнее, чем действительные числа произвольной точности (по большей части) по социологическим причинам.
Я полагаю, что главный аргумент против точного вычисления реалов - это производительность . Итак, короткий ответ: всякий раз , когда производительность важнее точности, вам нужно использовать числа с плавающей запятой .
На ум приходит применение вычислительной гидродинамики для проектирования аэродинамики автомобилей или самолетов, где небольшие ошибки в вычислениях легко компенсируются астрономическими преимуществами использования выделенных модулей с плавающей запятой, обнаруженных во многих широко распространенных процессорах.
В частности, проблема представления широкого диапазона действительных чисел с использованием фиксированного числа битов не так тривиальна, как может показаться на первый взгляд. При численном моделировании значения могут широко варьироваться (например, при наличии турбулентности), поэтому вычисления с фиксированной точкой не подходят.
Даже если аппаратная точность не фиксируется, использование произвольных чисел точности может быть на несколько порядков медленнее, чем использование чисел с плавающей запятой. На самом деле, даже в хорошем случае были все числа рациональные, простые операции , как инвертирование матрицы может привести к большим, трудно контролировать знаменатели (см здесь для примера). Многие большие линейные пакеты оптимизации используют плавающие точки с соответствующими режимами округления, чтобы найти приблизительные решения из-за этой точной проблемы (см., Например, большинство программ, найденных здесь ).