typedef int fix16;
fix16 float2fix(float x)
{
return int(x * 65536.0f);
}
float fix2float(fix16 x)
{
return float(x) / 65536.0f;
}
fix16 int2fix(int x)
{
return fix16(x) << 16;
}
int fix2int(fix16 x)
{
return int(x) >> 16;
}
Obrati pažnju da što više bitova ostavljaš za ceo deo, to je preciznost manja, ili što više bitova ostavljaš za ostatak to je manji opseg celog dela broja. Pošto fixed point koristiš u maksimalnom opsegu koji je kao i rezolucija ekrana ceo deo broja ne mora da bude u širokog opsega.