我double long
在我的 64 位计算机中使用并且sizeof(double long)
是16 bytes
. 所以我做了以下任务:
long double f = 0xA0000000000000000000000000000000; // 32 characters in hex
我得到这个警告:warning: integer constant is too large for its type
。该警告似乎不正确,我的常量可以轻松保存为 128 位值。那么,为什么我会收到警告?
我也有这个代码:
long double tmp = 0x90000000CCCCCCCC0000000000000000;
long double res = (f & tmp); // where f is the previously defined variable
我收到以下错误error: invalid operands to binary &
。为什么 ?