#include <stdio.h>
/* https://stackoverflow.com/questions/44008357/adding-and-subtracting-exact-values-to-float */
int main(void) {
float float0 = 1.5f;
float float1 = 1.5000001f;
int intbits_of_float0 = *(int *)&float0;
int intbits_of_float1 = *(int *)&float1;
printf("float %.17g is reinterpreted as an integer %d\n", float0
, intbits_of_float0
); printf("float %.17g is reinterpreted as an integer %d\n", float1
, intbits_of_float1
);
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgovKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy80NDAwODM1Ny9hZGRpbmctYW5kLXN1YnRyYWN0aW5nLWV4YWN0LXZhbHVlcy10by1mbG9hdCAqLwppbnQgbWFpbih2b2lkKSB7CglmbG9hdCBmbG9hdDAgPSAxLjVmOwoJZmxvYXQgZmxvYXQxID0gMS41MDAwMDAxZjsKCWludCBpbnRiaXRzX29mX2Zsb2F0MCA9ICooaW50ICopJmZsb2F0MDsKCWludCBpbnRiaXRzX29mX2Zsb2F0MSA9ICooaW50ICopJmZsb2F0MTsKCQoJcHJpbnRmKCJmbG9hdCAlLjE3ZyBpcyByZWludGVycHJldGVkIGFzIGFuIGludGVnZXIgJWRcbiIsIGZsb2F0MCwgaW50Yml0c19vZl9mbG9hdDApOwoJcHJpbnRmKCJmbG9hdCAlLjE3ZyBpcyByZWludGVycHJldGVkIGFzIGFuIGludGVnZXIgJWRcbiIsIGZsb2F0MSwgaW50Yml0c19vZl9mbG9hdDEpOwoJCglyZXR1cm4gMDsKfQo=