[讨论]关于float的问题?谁能仔细讲解一下?
昨天在QQ群里和人讨论问题时有人给出了一个例子,现在我还没搞明白,希望哪位大侠来讲解一下,最好从原理上来讲。例:{
float a=2.4;
if(a==2.4) printf("OK\n");
else printf("ERROR\n");
}
按说这个程序应该输出OK的,但不知道为什么输出的却是ERROE,用if(a>=2.4&&a<=2.4)也不行,除非用if(a==2.4f),但其他的类型比如double就不用这样,谁能给咱详细讲一下,小弟实在是很迷茫?