C语言中常用的浮点变量定义有两种类型,分别是float和double;float称为单精度浮点型,double称为双精度浮点型。
若y定义为double类型,在计算过程中,5要写成5.0,
若y定义为float类型,在计算过程中,5写成5即可,不用写成5.0,
能用float尽量不用double,Float为单精度,内存中占4个字节,有效数位是7位(因为有正负,所以不是8位),double为双精度,占8个字节,有效数位是16位,double和float的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多,能用单精度时不要用双精度(以省内存,加快运算速度)。
编译不会出错,但是如果double变量的精度超出了float的范围,或者double变量的值超过了float的最大值,变量值会改变,最好不好这么做