float在C语言中是
单精度浮点数, double 是
双精度浮点数。它们精度不同,能表示的数值范围大小不同。
单精度浮点数,4字节, 字长32位,有一位符号位,指数位共8位,尾数共23位。 指数能够表示的指数范围为-128~127。float的精度为6~7位有效数字。 float的范围为-2^128 ~ +2^128,也即-3.40E+38 ~ +3.40E+38。
double: 8字节, 字长64位,有一位符号位 11bits(指数位), 52bits(尾数位),指数能够表示的指数范围为 -1023~+1024。double的精度为15~16位。double的范围为-2^1024 ~ +2^1024,也即-1.79E+308 ~ +1.79E+308。
===
在程序中,它们可用于声明变量类型,例如 float a=1.23; double d=123.45; 。
若带小括号, 例如:x = (float) b; y=(double) c; 则表示 类型强制转换。
若在注解行中 , 例如: /* vx is float type, z is double type */ 则为注解。
若用双引号括起来,则是
字符串,例如:
char s1[]="This is float !", s2[]="That is double !"; //字符串常量。