Conversion and normalization of 16-bit sample to a floating point number

References : Posted by George Yohng
Code :
float out;
signed short in;

// This code does the same as
//   out = ((float)in)*(1.0f/32768.0f);
//
// Depending on the architecture and conversion settings,
// it might be more optimal, though it is always
// advisable to check its speed against genuine
// algorithms.

((unsigned &)out)=0x43818000^in;
out-=259.0f;

Comments
from : yuri_xl[AT]tom[DOT]com
comment : Hi George Yohng I tried it... but it's create the heavy noise!!

from : George Yohng
comment : Correction: ((unsigned &)out)=0x43818000^((unsigned short)in); out-=259.0f; (needs to have a cast to 'unsigned short')