Tag: 长long

sizeof long double和precision不匹配?

考虑以下C代码: #include int main(int argc, char* argv[]) { const long double ld = 0.12345678901234567890123456789012345L; printf(“%lu %.36Lf\n”, sizeof(ld), ld); return 0; } 在Ubuntu x64 13.04下用gcc 4.8.1编译,它打印: 16 0.123456789012345678901321800735590983 这告诉我一个长双倍权重16字节,但小数似乎只对第20位。 这怎么可能? 16个字节对应四元组,四元组给出33到36个小数。