gpt4 book ai didi

c++ - 现代计算机上的 double 和浮点内存分配

转载 作者:行者123 更新时间:2023-11-27 23:44:09 25 4
gpt4 key购买 nike

我正在了解 double 和 float 及其区别。我运行了一段如下所示的代码,以查看根据我添加的整数和小数点的数量分配了多少内存,但似乎无论我输入多少整数,我总是得到 8 字节的 float 和 double 。我了解到 float 占用 4 个字节,但我开始认为在现代计算机上情况并非如此,也许过去就是这种情况,今天我们可以互换使用它们而不影响结果?我在这里错过了什么吗?

   // C++ program to sizes of data types
#include<iostream>
using namespace std;

int main()
{

cout << "Size of int : " << sizeof(11111111111111111) << " bytes" << endl;

cout << "Size of float : " << sizeof(11111111111111111111111111111111111111111111111111111111111.1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111) << " bytes" <<endl;
cout << "Size of double : " << sizeof(.11111111111111111111111111111111111111111111111111111) << " bytes" << endl;


return 0;
}

最佳答案

您在两行都打印了 double 的大小,因为两个浮点字面值的类型都是 double。如果您想创建一个 float 字面值,请向其附加一个 f:1.0f。这具有 float 类型。如果您不向其附加 f,它将具有 double 的类型。

或者您可以简单地使用 sizeof(float)

关于c++ - 现代计算机上的 double 和浮点内存分配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52020531/

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