1、指标范围不同
float 的索引范围是-127~128。
double和double的指数范围是-1023~1024
2、表达指数不同
float 的表达式为 1bit(符号位)+ 8bits(指数位)+ 23bits(尾数位)
double的表达式为1bit(符号位)+11bits(指数位)+52bits(尾数位)
3、有效位数不同
Float 只能提供七位有效数字。
Double 可以提供 16 位有效数字。
4、占用内存空间不同
Float 占用 4 字节(32 位)内存空间,取值范围为 3.4E-38~3.4E+38。
double 占用 8 字节(64 位)内存空间,取值范围为 1.7E-308~1.7E+308。
那也不至于输不出啊,最后显示的是变量未被初始化,就很迷。我只改了一个变量类型,结果就不一样了。
追答输出应该是%lf
控制符%f表示将一个单精度小数输入输出,它是输入输出float变量的最标准格式,%lf则是输入输出双精度小数(即double型变量)。