Building a 32-bit float out of its 4 composite bytes
You could use a memcpy (Result) float f; uchar b[] = {b3, b2, b1, b0}; memcpy(&f, &b, sizeof(f)); return f; or a union* (Result) union { float f; uchar b[4]; } u; u.b[3] = b0; u.b[2] = b1; u.b[1] = b2; u.b[0] = b3; return u.f; But this is no more portable than your code, … Read more