C++ 实型数据

#include "iostream.h"
void main (void)
{
double a;
a=9.8765e-5;
cout<<"a="<<endl;
}
输出的结果是:a=9.8765e-005
问什么 - -

........你好:
我测试了一 次、。输出的知识a=而已。
如果你在cout<<"a="<<endl;
加上<<a<<输出的才是你现在输出的结果。。。
你定义double类型。。这么输出很正常。。至于输出005是因为已经超出了他现有的精度范围。
如果你改为e-1或者2,3,4,你会发现他输出的事0.98765

0.098765
0.0098765
0.00098765追问

输出005是因为已经超出了他现有的精度范围
就会输出
a=9.8765e-005

这个?

追答

嗯,,如果你是6,7,8就会继续006,007,008他的小数有效位只有4个所有到5个就没了。。。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-08-31
关于double的精度你可以试试好像是e-000到e-324,正整数部分可以查到,小数部分一般只显示八位,若超过则用e-n次方表示,所以为5时刚好超过,变成005,至于上限在不同电脑32或64位不一样,另外不同编译器也有出入~~