float类型默认保留小数点后6位,若是要输出一位或者其他位数,可以按照以下形式进行输出:
printf("%.(这里输入要输出的位数)f",x);
如输出一位:printf("%.1f",x);
C语言浮点类型的精确位数
实例
#include
#include
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(也就是单精度浮点),默认有效位数7位。图中的2.000000,有效数字就是7位
单精度,float,32位,有效位数为7位
双精度,double,64位,有效位数15位
i和j都是int型,两个int型相除结果保留整数部分,即2,但是f是float型,结果保留6位
以float型输出时是保留小数点后6位