c语言中如果输入2.0是float型还是double型?我一直没明白float和double在输出

c语言中如果输入2.0是float型还是double型?我一直没明白float和double在输出的时候在小数点的位数上没有不同吗?为什么float和double输出的小数位数都一样呢

1、Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),
double为双精度,占8个字节,有效数位是16位

2、输出 都用“%lf”:printf(“%5.4lf”,dou); 意思是显示到小数后四位追问

如果不设置小数点位数,为什么显示出来的都是一样的位数呢

追答

主要是我们用的位数短,一个有效数位是7位,一个16位不一样啊

温馨提示:内容为网友见解,仅供参考
无其他回答
相似回答