为什么a=0要用fabs(a)<1e-6表示?????
1e-6是什么意思??
为什么a=0要用fabs(a)<1e-6表示?????
1e-6是什么意思??
要注意的是,计算机的计算是存在误差的。。例如说float 虽然能表示小数。。但它的有效位数却只有6位或7位。。当超过这个限制后。。后面的将会用四舍五入后能得到那个数的随机数来代替、。。试试运行下面的代码。。输出的不是123.456700.。。而是123.456703或其它的随机值。。这是因为已经超出了计算机定义的精度了。。
所以在有效位数多的时候,直接等可能会因为误差而出错。。。最好的办法就是利用精度来比较···
fabs(a)<1e-6 。。希望LZ明白··
#include<stdio.h>
main()
{
float num=123.4567;
printf("%f\n",num);
return 0;
}