
uint32_t *raw_data; 
union
{
   uint32_t as_int;
   float    as_float;
} time; 
raw_data = buf; //some large buffer of data 
time.as_int = ntohl(*raw_data); //fix the endianness issue

printf("%f\n", time.as_float);
