关于float的有效数位问题
程序代码:
#include <stdio.h> #include <float.h> int main(void) { float a; double b; a = 5.0 / 13.0; b = 5.0 / 13.0; printf("%.6f %.6f\n",a,b); printf("%.7f %.7f\n",a,b); printf("%.8f %.8f\n",a,b); printf("%.12f %.12f\n",a,b); printf("%d %d\n",FLT_DIG,DBL_DIG); }
我看书上说float的有效数位为6,代码最后一排显示也是6,但我发现无论怎么改a,b的值,最后7位都相同,只有8位的时候,才发生改变,那不是应该说7位有效数位吗?嘻嘻,我新手,求大神教育啊