return (1 - (2*BitShift($d,31))) * (2^(bitAND(bitshift($d,23),255)-127)) * (1+BitAND($d,8388607)/8388608)
So I use this code to convert an integer to a float.
However sometimes it doesn't work...
it works for 1189765120 (returns 30000)
doesn't work for -1189765120 (returns 0.000428080558776855 instead of -0.0001426935)
doesn't work for 634 (returns 5.87791596572463e-039 instead of 8.884232E-43)
Can you tell me what's wrong? or give me a better method of gett