关于浮点数的精度

代码:

#include<iostream>
using namespace std;          //precision problems with float
int main()
{
float a = 2.34E+22f;
float b = a + 1.0f;

cout << "a=" << a << endl;
cout << "b-a=" << b - a << endl;

system("pause");
return 0;
}

输出结果:

分析:因为floatl类型只能表示数字中的前6位或者前7位,因此对a的第23位进行修改并不会引起变化。

猜你喜欢

转载自www.cnblogs.com/urahyou/p/10085729.html