Dryundel писал(а): ↑12.03.2023{, 14:31}
Делаем элементарный блок с одной лишь строкой #define float double. Пихаем его в проект и вуаля! На 32 битных контроллерах имеем двойную точность и правильный результат.
Здесь надо понимать, что все что связано с float числами при таком методе будут съедать больше памяти и процессорного времени.
Ради одного точного вычисления жертвовать..., при безысходности можно и таким методом воспользоваться.
Но здесь не решается главный вопрос, как вводить эти нужные коэффициенты, и числа с double возможностями в флпрог?
Пробуем в вашем примере подставить в место однозначных целых чисел, число с возможностью double (допустим больше 8 знаков)
и получаем бредятину ))
Мне пришлось с этим столкнуться несколько лет назад.
При расчетах связанных с Луной, нужно было вводить в работающем проекте поправочный коэффициент.
Константы, переменные, конвертация строк, все возможные методы ввести эти данные в флпрог, давали искаженный результат.
Тогда и сделал ПБ конвертер в double. Потом он мне понадобился для расчета GPS координат. В остальном точности float мне хватало.
Возьмем реальный пример. Надо ввести Юлианскую дату (JD) в проекте возможностями флпрог.
И видим что этой возможности нет. И #define float double здесь не спасает.