#include
int main()
{
using namespace std;
long double a=2.34E+22f;
long double b=a+1.0f;
cout << "a=" << a << endl;
cout << "b-a=" << b-a << endl;
return 0;
}
最终你们的结果是什么?
为什么??
#include
int main()
{
using namespace std;
long double a=2.34E+22f;
long double b=a+1.0f;
cout << "a=" << a << endl;
cout << "b-a=" << b-a << endl;
return 0;
}
最终你们的结果是什么?
为什么??
a=2.34e+22
b-a=0
结果
因为两个浮点数大小差距太大了,所以它们的加减,小的那个连尾数的末尾都够不着,被忽略不计。