浮点型
C++提供一种灵活的的标准,类型的长度只要确保大于最小长度就行了,所以在不同系统上,类型的长度并不一定相同。
在C++中 在文件climit 与cfloat能够查看整型,浮点型的大小等信息。
#include<climits>
#include<cfloat>
三个浮点型之间的对比
浮点型 | 内存大小 | 精度 (64位系统) |
---|---|---|
float | 至少32位,一般32位 | 小数点后6~7位 |
double | 至少48位,一般64位 | 小数点后15-17位 |
long double | 至少与double相同,一般80,96,128位 | 与double相同 |
编写代码验证浮点型精度
#include<iostream>
#include<iomanip>
using namespace std;
int main(void)
{
//小数点后位19位3
float a=1.3333333333333333333;
double b= 1.3333333333333333333;
long double c= 1.3333333333333333333;
//std::setprecision(20) 设置输出精度为20
cout <<"float:"<< std::setprecision(20) << a << endl;
cout<<"double:"<<std::setprecision(20) << b<<endl;
cout << "long double:" << std::setprecision(20) << c << endl;
}
最后输出结果: