I'm using double long
in my 64 bit computer and sizeof(double long)
is 16 bytes
.
So I do the following assignment:
long double f = 0xA0000000000000000000000000000000; // 32 characters in hex
and I get this warning: warning: integer constant is too large for its type
. That warning doesn't seem correct, my constant can be easily saved in a 128bit value. So, why do I get the warning?
I also have this code:
long double tmp = 0x90000000CCCCCCCC0000000000000000;
long double res = (f & tmp); // where f is the previously defined variable
and I get the following error error: invalid operands to binary &
. Why ?