Could you explain why the difference is 1024 instead of 1000?
int main(void) {
unsigned long long int x = pow(2,63);
double y = pow(2,63) - 1000;
double z = 9223372036854775808.0 - 1000.0;
printf("%llu\n%f\n%f\n", x,y,z);
}
Output is:
9223372036854775808
9223372036854774784.000000
9223372036854774784.000000