我正在学习double和float及其区别。我运行了一段代码,如下所示,以查看分配了多少内存,具体取决于我添加的整数和小数点的数量,但是看来无论我键入多少整数,浮点型和双精度型总是得到8字节的大小。我了解到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;
}
答案 0 :(得分:3)
您在两行上都打印double
的大小,因为两个浮点文字的类型均为double
。如果要创建float
文字,请在其后附加f
:1.0f
。其类型为float
。如果您不向其附加f
,它将具有double
的类型。
或者您也可以只使用sizeof(float)
。