#include <stdio.h>
int main(void) {
unsigned long long x1n = 0x7ff0000000000000ULL; // Inf
double x1 = *((double*)&x1n);
unsigned long long x2n = 0x7ff0000000000001ULL; // Signaling NaN
double x2 = *((double*)&x2n);
printf("\nx1=%f, x2=%f sizeof(double) = %d", x1
, x2
, sizeof(x2
)); if (x1 == x2)
else
printf("\nx1!=x2"); // x1 != x2
return 0;
}
I2luY2x1ZGUgPHN0ZGlvLmg+CgppbnQgbWFpbih2b2lkKSB7CgkKCXVuc2lnbmVkIGxvbmcgbG9uZyB4MW4gPSAweDdmZjAwMDAwMDAwMDAwMDBVTEw7IC8vIEluZgoJZG91YmxlIHgxID0gKigoZG91YmxlKikmeDFuKTsKCXVuc2lnbmVkIGxvbmcgbG9uZyB4Mm4gPSAweDdmZjAwMDAwMDAwMDAwMDFVTEw7IC8vIFNpZ25hbGluZyBOYU4KCWRvdWJsZSB4MiA9ICooKGRvdWJsZSopJngybik7CgoJcHJpbnRmKCJcbngxPSVmLCB4Mj0lZiBzaXplb2YoZG91YmxlKSA9ICVkIiwgeDEsIHgyLCBzaXplb2YoeDIpKTsKCWlmICh4MSA9PSB4MikKCQlwcmludGYoIlxueDE9PXgyIik7CgllbHNlCgkJcHJpbnRmKCJcbngxIT14MiIpOyAvLyB4MSAhPSB4MgoJCglyZXR1cm4gMDsKfQo=