fork download
  1. #include <stdio.h>
  2.  
  3. typedef union
  4. {
  5. unsigned char uc[sizeof(double)];
  6. float f;
  7. double d;
  8. }u_t;
  9.  
  10. void print(u_t u, size_t size, int endianess)
  11. {
  12. size_t start = 0;
  13. int increment = 1;
  14.  
  15. if(endianess)
  16. {
  17. start = size - 1;
  18. increment = -1;
  19. }
  20.  
  21. for(size_t index = 0; index < size; index++)
  22. {
  23. printf("%hhx ", u.uc[start]);
  24. start += increment;
  25. }
  26. printf("\n");
  27. }
  28.  
  29.  
  30. int main(void)
  31. {
  32. u_t u;
  33. u.f = 3.15f;
  34.  
  35. print(u, sizeof(float),0);
  36. print(u, sizeof(float),1);
  37.  
  38. u.d = 3.15;
  39. print(u, sizeof(double),0);
  40. print(u, sizeof(double),1);
  41. return 0;
  42. }
  43.  
Success #stdin #stdout 0s 4496KB
stdin
Standard input is empty
stdout
9a 99 49 40 
40 49 99 9a 
33 33 33 33 33 33 9 40 
40 9 33 33 33 33 33 33