fork download
  1. #include <stdio.h>
  2.  
  3. typedef union
  4. {
  5. float fdata;
  6. unsigned long ldata;
  7. } u_float_long_union;
  8.  
  9. float byte_to_float(unsigned char byte[]) {
  10. u_float_long_union u;
  11. u.ldata = (unsigned long)byte[0] |
  12. ((unsigned long)byte[1] << 8) |
  13. ((unsigned long)byte[2] << 16) |
  14. ((unsigned long)byte[3] << 24);
  15. return u.fdata;
  16. }
  17.  
  18. int main() {
  19. unsigned char bytes[] = {0xA1, 0x92, 0x61, 0xC2};
  20. float result = byte_to_float(bytes);
  21. printf("The float value is: %f\n", result);
  22. return 0;
  23. }
Success #stdin #stdout 0.01s 5320KB
stdin
Standard input is empty
stdout
The float value is: -56.393192