C++里浮点型变量精度为7,那么整数部分是0的话,算不算一位精度?如果是负数,有效数字就只有6位?
#include<iostream>
using namespace std;
int main()
{
float f;
double d;
f = 0.123456789f;
d = 123456789.123456789;
cout << "f = " << f << " d=" << d << endl;
return 0;
}
运行结果及报错内容
f = 0.123457 d=1.23457e+08
为什么不是f=0.1234568 ?
表头 | 表头 |
---|---|
单元格 | 单元格 |
单元格 | 单元格 |
单元格 | 单元格 |
单元格 | 单元格 |
单元格 | 单元格 |
单元格 | 单元格 |
d=1.23457e+08这个结果,有的书上说是 d=1.23457e+008,+08和+008是编译器和系统的区别?
书上说:float f2=-789.012F 若f2=-789.0126F,则f2实际获得的值为-789.013 。既然是7位有效数字,最后那一位6就应该正确显示出来啊?