fork download
  1. #include <stdio.h>
  2.  
  3. union {
  4. unsigned int uivalue;
  5. float fvalue;
  6. } val_union;
  7.  
  8. void printBits(unsigned int num)
  9. {
  10. int bit_cnt = sizeof(unsigned int) * 8;
  11. unsigned int mask = (1 << (bit_cnt - 1));
  12.  
  13. do
  14. {
  15. printf("%u", (num & mask) != 0?1:0);
  16. mask >>= 1;
  17. } while (mask > 0);
  18. }
  19.  
  20. int main(void) {
  21.  
  22. val_union.fvalue = 1.0f/3;
  23. printf("1/3 jako float: %f\n", val_union.fvalue);
  24. printf("1/3 jako unsigned int: %u\n", val_union.uivalue);
  25. printf("1/3 jako unsigned int hex: %08x\n", val_union.uivalue);
  26. printf("1/3 jako bity: ");
  27. printBits(val_union.uivalue);
  28. printf("\n");
  29. return 0;
  30. }
  31.  
Success #stdin #stdout 0s 2160KB
stdin
Standard input is empty
stdout
1/3 jako float: 0.333333
1/3 jako unsigned int: 1051372203
1/3 jako unsigned int hex: 3eaaaaab
1/3 jako bity: 00111110101010101010101010101011