Now Seymours answer and Bathsheba's comment are good, but I have recently been hit by a case of C++11 so will try an alternative answer, which might be useful or totally irrelevant for your use of the conversion.
The conversion from integer to float can sometimes takes many cycles!
So if the values you want to convert are only a limited number of the actual values or they are litterals or the compiler can reason that they are constants, there is a (runtime) faster way.
constexpr float ToFloatAtCompileTime(uint8_t u8) {
return u8; // implicit conversion to return type
}
float f1 = ToFloatAtCompileTime(u8);
Note: your compiler might do this implicitly on higher optimization level.