Я конвертирую double в float, используя старые float myFloat = (float)myDouble
.
Однако иногда это приводит к «Бесконечности», что не годится для дальнейшей обработки, которую я делаю. Я в порядке с потерей, если он указывает в общем направлении как исходное число (относительное число «сила» на всех числах, которые я конвертирую, должно быть сохранено).
Как я могу преобразовать число с плавающей запятой в удвоение и избежать бесконечности?
Фон:
Я читаю поток данных из wav / mic, преобразовываю его в float
, преобразовываю в double
, запускаю с помощью вычисления FFT (для этого требуется double
), и теперь я хочу вернуть его к float
(хранение данных в 32-битном контейнере изображений).