, - . 2³² . , f
, , unsigned m
.
const float unsigned_limit = 4294967296.0f;
bool ok = false;
if (f < unsigned_limit)
{
const auto uf = static_cast<unsigned int>(f);
if (uf <= m)
{
ok = true;
}
}
, .
f
m
( ), float(m)*0.99f
( float(m)*1.01f
), . , , , , .