float精确到几位小数?C语言float和double的区别是什么?
float精确到七位小数。float和double的精度是由尾数的位数来决定的。浮点数在内存中是按科学计数法来存储的,其整数部分始终是一个隐含着的“1”,因为它是不变的,故不能对精度造成影响。float:2^23 = 8388608,一共七位,这意味着最多能有7位有效数字,但绝对能保证的为6位,也即float的精度为6~7位有效数字。
C语言float和double的区别是什么?
1.精度不一样,float是单精度,double是双精度;
2.表示小数的范围不一样,double能表示的范围比float大;
3.double在内存中,占8个字节,float在内存中,占4个字节。
注:%f默认保留6位小数,不足位以0补齐,超过六位按四舍五入的方法保留6位,若想输出指定位数,在格式化输出语句中表示变量的字母及%中间的部分控制输出位数,小数点后是小数位数。