fork download
  1. #include <stdio.h>
  2.  
  3. /* https://stackoverflow.com/questions/44008357/adding-and-subtracting-exact-values-to-float */
  4. int main(void) {
  5. float float0 = 1.5f;
  6. float float1 = 1.5000001f;
  7. int intbits_of_float0 = *(int *)&float0;
  8. int intbits_of_float1 = *(int *)&float1;
  9.  
  10. printf("float %.17g is reinterpreted as an integer %d\n", float0, intbits_of_float0);
  11. printf("float %.17g is reinterpreted as an integer %d\n", float1, intbits_of_float1);
  12.  
  13. return 0;
  14. }
  15.  
Success #stdin #stdout 0s 9424KB
stdin
Standard input is empty
stdout
float 1.5 is reinterpreted as an integer 1069547520
float 1.5000001192092896 is reinterpreted as an integer 1069547521