c语言 float类型保留几位啊 怎么确定
float类型默认保留小数点后6位,若是要输出一位或者其他位数,可以按照以下形式进行输出:
printf("%.(这里输入要输出的位数)f",x);
如输出一位:printf("%.1f",x);
扩展资料
C语言浮点类型的精确位数
实例
#include <stdio.h>
#include <float.h>
int main()
{
printf("float 存储最大字节数 : %lu \n", sizeof(float));
printf("float 最小值: %E\n", FLT_MIN );
printf("float 最大值: %E\n", FLT_MAX );
printf("精度值: %d\n", FLT_DIG );
return 0;
}
在C语言中,float类型的数据默认保留小数点后6位,不足6位的以0补齐,超过6位按四舍五入截断。最多能保留7位有效数字,能绝对保证6位有效数字。
详细可参考博文:网页链接
照片中的2.0其实就是2.000000,3.0其实就是3.000000,float类型的默认保留小数点后6位;
100/40结果应该是2.5,书中的2.0是侧重和2.5做区别,不是和2.000000做区别。同样,下面的3.0是要和3.14159做区别,而不是要和3.000000做区别。
所以,图片中的2.0其实就是2.00000,3.0其实就是3.000000。
单精度,float,32位,有效位数为7位
双精度,double,64位,有效位数15位
2014-09-24
所有的float都要保留6位吗