这个问题听起来像是初学者的问题,但是当我发现我认为我要么是初学者,要么我的比赛缺少一些东西时:
int main()
{
cout << sizeof(double) << endl;
cout << sizeof(long double) << endl;
cout << DBL_DIG << endl;
cout << LDBL_DIG << endl;
return 0;
}
节目输出:
8
8
15
15
我以为long double
是 10 个字节,有 18 个十进制数字,而double
8 个字节,有 15 个数字,但似乎我错了。
为什么呢?
在 64 位机器上使用 MSVC 2010。