double与float
这是一个求PI的程序:
#include "stdio.h"
void main()
{int sign=-1;float n,pi=1;/*float改为double*/
for(n=1;1/(2*n+1)>=1e-6;n++)
{pi=pi+sign*(1/(2*n+1));
sign=-sign;
}pi*=4;
printf("%f",pi);
getch();
}所求结果为pi=3.141594
但是现在我将注释行float改为double,则会变为pi=3.141591
为什么????谢谢了!
我印象中的是 可以用float的地方可以用double,可以用double的地方却不一定能用float的,是不是这样?
谢谢大家了!!!
#include "stdio.h"
void main()
{int sign=-1;float n,pi=1;/*float改为double*/
for(n=1;1/(2*n+1)>=1e-6;n++)
{pi=pi+sign*(1/(2*n+1));
sign=-sign;
}pi*=4;
printf("%f",pi);
getch();
}所求结果为pi=3.141594
但是现在我将注释行float改为double,则会变为pi=3.141591
为什么????谢谢了!
我印象中的是 可以用float的地方可以用double,可以用double的地方却不一定能用float的,是不是这样?
谢谢大家了!!!
...全文
相关推荐
float与double的范围和精度
数据精度问题 float与double的范围和精度
详解java中float与double的区别
主要介绍了JAVA中float与double的区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
关于float与double结果的误差
为什么输出是:333.333313呢?后面多出来的13是怎么回事啊? 但是如果把float改成double就没有错误了,这是为什么呢?
float和double
float和double为什么不可以使用精度计算的解析。
double_to_float_converter:将c ++源文件从double转换为float
double_to_float_converter:将c ++源文件从double转换为float



