gpt4 book ai didi

c++ - 为什么在我的 64 位机器上 double 和 long double 完全一样?

转载 作者:可可西里 更新时间:2023-11-01 16:38:24 25 4
gpt4 key购买 nike

这个问题听起来像是针对初学者的,但是当我发现这个问题时,我想我要么是初学者,要么我的 comp 缺少一些东西:

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。

最佳答案

如您所知,在 MSVC++ 中,long doubledouble 的同义词。显然这是为了利用仅限于 64 位操作的 SSE/SSE2/SSE3 指令集。

另见 here获取更多信息。

关于c++ - 为什么在我的 64 位机器上 double 和 long double 完全一样?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8922216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com