C语言float有效位数和小数点后位数问题

(1)“float有效位数是7位,小数点后最多能存6位”,这句话没问题吧?
(2)0.000001和1E-6在内存中的存储内容是一样的吗?如float a=0.00000112在输出显示的是0.000001?float a=1E-8输出显示的是什么?

(1) 有问题.
float a=0.000123456; // 有效位数字6位,小数点后...
printf("%20.10f",a);
可以输出 0.0001234560
(2) 0.000001和1E-6在内存中的存储内容是一样的.
输出显示 与格式有关,可以定点格式,可以科学记数格式,位数场宽都可自己给定。

a=1E-8 看你给的格式。
float a=1E-8;
printf("%20.10f ",a);
printf("%g",a);
0.0000000100 1e-008
温馨提示:答案为网友推荐,仅供参考