I'm converting double to float using ye old float myFloat = (float)myDouble
.
This does however sometimes result in "Infinity", which is not good for the further processing I'm doing. I'm okay with loss as long as it is pointing in the general direction as the original number (the relative number 'strength' on all numbers I'm converting must be maintained).
How can I convert float to double and avoid Infinity?
Background:
I'm reading a bytestream from wav/mic, converting it to float
, converting it to double
, running it through FFT calculation (this is what requires double
), and now I want it back to float
(storing the data in 32-bit image container).
(float)((float.MaxValue / double.MaxValue) * myDouble)
could work. But as I understand the decimal precision is dynamic, so that wouldn't work... right? – Ray