3 ms·
Yes. You can see the compatibility between 80-bit floating points (long double in C) and 64-bit integer (long long int) with a code like this: long double x
by saitohm 12y ago
Yes. You can see the compatibility between 80-bit floating points (long double in C) and 64-bit integer (long long int)
with a code like this:
long double x0,x1,y0,y1;
x0 = 18446744073709551615.0L; /* 2^64 - 1 */
x1 = 18446744073709551616.0L; /* 2^64 */
y0 = x0 + 1.0L;
y1 = x1 + 1.0L;
printf("%d\n", x0 == y0); /* false (with enough precision) */
printf("%d\n", x1 == y1); /* true (precision being lost ) */