Нет, они абсолютно , а не всегда пахнут кодом.
На самом деле, в моей работе (низкоуровневые высокопроизводительные библиотеки) сравнения с плавающей запятой с допустимым отклонением является запах кода: они указывают на то, что программист либо не понимает числа с плавающей запятой, либо не полностью понимает числа реализуемого ими алгоритма, что вызывает большие предупреждающие сигналы, которые я должен прочитатьк остальному коду очень, очень близко.
Это не значит, что они никогда не должны использоваться.Есть много ситуаций (может быть, даже большинство ситуаций), где это правильно.Стоит только сказать, что все жесткие и быстрые правила глупы , включая это.
К вашему уточненному вопросу: «должно ли число с плавающей запятой действительно использоваться только когда-либо?для научных расчетов, а все остальное должно быть сделано с использованием фиксированного числа битов точности? "
Конечно, нет.Это было бы чудовищным инженерным бременем и крайне неэффективным.Неопытному программисту так же просто стрелять себе в ногу с помощью целочисленной арифметики (переполнения, деление-усечение, доступ к массиву за пределами границ и т. Д., И т. Д.), Как и с плавающей запятой.Плавающая точка - огромное удобство для подавляющего большинства программистов;если бы это было не так, его бы не использовали.
Как и во всех других вещах, найдите время, чтобы узнать о своих инструментах и использовать правильный инструмент для работы.