#include <stdio.h>
#include <inttypes.h>
main(){
uint64_t a = 0xffffffffffffffffULL;
float b;
uint64_t c = 0;
printf("sizeof(a)=%d sizeof(b)=%d\n", sizeof(a), sizeof(b)); //8, 4
printf("%llu\n", a); //=>18446744073709551615
b = (float)a;
printf("%f\n", b); //=>18446744073709551616.000000
c = (uint64_t)b;
printf("%llu\n", c); //=>18446744073709551615
}
I2luY2x1ZGUgPHN0ZGlvLmg+CiNpbmNsdWRlIDxpbnR0eXBlcy5oPgoKbWFpbigpewogICAgICAgIHVpbnQ2NF90IGEgPSAweGZmZmZmZmZmZmZmZmZmZmZVTEw7CiAgICAgICAgZmxvYXQgYjsKICAgICAgICB1aW50NjRfdCBjID0gMDsKIAogICAgICAgIHByaW50Zigic2l6ZW9mKGEpPSVkIHNpemVvZihiKT0lZFxuIiwgc2l6ZW9mKGEpLCBzaXplb2YoYikpOyAvLzgsIDQKIAogICAgICAgIHByaW50ZigiJWxsdVxuIiwgYSk7ICAgIC8vPT4xODQ0Njc0NDA3MzcwOTU1MTYxNQogICAgICAgIGIgPSAoZmxvYXQpYTsKICAgICAgICBwcmludGYoIiVmXG4iLCBiKTsgICAgIC8vPT4xODQ0Njc0NDA3MzcwOTU1MTYxNi4wMDAwMDAKICAgICAgICBjID0gKHVpbnQ2NF90KWI7CiAgICAgICAgcHJpbnRmKCIlbGx1XG4iLCBjKTsgICAgLy89PjE4NDQ2NzQ0MDczNzA5NTUxNjE1Cn0=