在 C语言中 双精度和单精度的数,小数点后面分别保留几位啊·······

如题所述

c语言中double和float的精度并不是按小数点后面多少位来算的
而是按有效数字来算
比如如果是精度为2个有效数字
0.21就是精确的
但是11.1小数点后面的都是不精确的

以下是单双精度的精确位
float 6-7
double 15-16追问

那请问一下为什么下面两个程序的计算数字的精度是一样的?
#include
main()
{
double a;
a=1.23546982+2.15239684;
printf("the MPG is %lf", a);

}

#include
main()
{
float a;
a=1.23546982+2.15239684;
printf("the MPG is %f", a);

追答

用乘法去验证
200001*200023 你试试看结果如何

温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-10-28
6位,8位
第2个回答  2011-10-28
双精度 小数点后面保留15位
单精度 小数后面保留7位
相似回答