如果直接一个浮点数, 那么他默认是float
还是double
呢?
测试用例
#include <iostream>
using namespace std;int main() {auto x = 0.2;float f = 0.2;double d = 0.2;cout << "x Size : " << sizeof(x) << " bytes" << endl;cout << "f Size : " << sizeof(f) << " bytes" << endl;cout << "d Size : " << sizeof(d) << " bytes" << endl;return 0;
}
执行结果
对比可知, 默认其实是double
, 而非占位更少的float
, 这是为什么呢?
在许多平台上,双精度浮点运算被认为比单精度浮点运算更准确、更高效。
至于为什么双精度浮点运算更高效, 就不再本节讨论范围内了