I am trying to implement Fast Inverse Square Root for a fixed point number, but I’m not getting anywhere.

I am trying to follow exactly the same principle as the article, except instead of writing the number in the floating point format `x = (-1) ^ s * (1 + M) * 2 ^ (E-127)`

, I am using the format `x = M * 2 ^ -16`

, which is a 32-bit fixed point number with 16 decimal bits and 16 fractional bits.

The problem is that I cannot find the value of the "magic constant". According to my calculations, it doesn’t exist, but I’m not a mathematician and I think I’m doing everything wrong.

Source: Windows Questions C++