不知道结果为什么是这个,还有这个a的表示是什么值,e,f是代表多少啊
#include
using namespace std;
void main()
{
float a = 2.34e+22f;
float b = a + 1.0f;
cout << "a = " << a << endl;
cout << "b - a = " << b - a << endl;
system("pause");
}
不知道结果为什么是这个,还有这个a的表示是什么值,e,f是代表多少啊
#include
using namespace std;
void main()
{
float a = 2.34e+22f;
float b = a + 1.0f;
cout << "a = " << a << endl;
cout << "b - a = " << b - a << endl;
system("pause");
}
e代表10,就是科学计数法中形式,例如:2.34e+22代表2.34 * 10 ^ 22, 1.0e+10代表1.0 * 10 ^ 10。
f代表浮点数,例如: 1.0f代表1.0,f只是标明这个是浮点数,举个其他例子吧,1000L表示值为1000的长整数。
现在2.34e+22f只是表示2.34 * 10 ^ 22.0f而已,跟2.34e+22的值一样。关于b - a的值为什么是0的问题,这个跟float所能存储的范围有关,float并不能达到那个数据的精度,所以a跟a + 1其实没啥差别了