实际上,精确比较浮点数还是可以的。
如:
void main(void)
{
float a=0.065F;
if(a==0.065F)
printf("%f",a);
}
可以输出a的值,只是不太方便罢了,并非如书上所说,由于浮点数不能精确表示0.065F,所以比较一直为假,因为比较表达式中的0.065F也要存入内存中。
假如改为a==0.065则为假,因为0.065默认是用double表示,就不相等了。也因此,比较浮点数一般比较一个范围,比较方便。
实际上,精确比较浮点数还是可以的。
如:
void main(void)
{
float a=0.065F;
if(a==0.065F)
printf("%f",a);
}
可以输出a的值,只是不太方便罢了,并非如书上所说,由于浮点数不能精确表示0.065F,所以比较一直为假,因为比较表达式中的0.065F也要存入内存中。
假如改为a==0.065则为假,因为0.065默认是用double表示,就不相等了。也因此,比较浮点数一般比较一个范围,比较方便。