c++中,float型和double型各保留几位有效数字?麻烦举几个例子,谢谢~
4个回答
展开全部
float精度是2^23,能保证6位。
double精度是2^52,能保证15位。
但是默认float和double都只能显示6位,再多需要#include <iomanip>,然后在输出语句之前插入cout << setprecision(20);强制输出小数位。
float fval = 1.32121212f;
double dval = -45.67456554;
double dval2 = -4.456511111111111;
cout << fval << endl;
cout << dval << endl;
cout << dval2 << endl;
输出的结果是:
1.32121
-45.6746
-4.45651
参考资料:
double精度是2^52,能保证15位。
但是默认float和double都只能显示6位,再多需要#include <iomanip>,然后在输出语句之前插入cout << setprecision(20);强制输出小数位。
float fval = 1.32121212f;
double dval = -45.67456554;
double dval2 = -4.456511111111111;
cout << fval << endl;
cout << dval << endl;
cout << dval2 << endl;
输出的结果是:
1.32121
-45.6746
-4.45651
参考资料:
推荐于2018-04-11
展开全部
显示的时候都是6位(dec),但是float尾数有23bit,double有52bit。也就是说,float精度约为1.1×10∧-7,double为 2.2×10∧-16。以上是一般情况
追答
对不起,上面科学计数法的指数应该加一
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-07-02
展开全部
float有效位是6位,double是15位。如果要更多有效位最好使用定点数来代替浮点数,定点数本质是整数,只是把最后几位当作小数部分处理,从而实现更多有效位。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个是不确定的,因为大小不确定,float如果没记错应该是能保证6位有效数字,double最小能保证8位有效数字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询