实型
实型/浮点型
一般分为三类,单精度浮点float,双精度浮点数double和long double,且三者都是默认输出小数点后六位数值。
浮点数有两种书写办法:
一是直接使用标准的小数点表示浮点数,如1.023,多了,浮点数0.0可以直接写成.0也没问题;
二是使用E表示法,如9.11E8表示9.11*10^8,即911000000,类似还有4E-3即为4/(10^3),这就是个分数,还有经常在浮点数判等运算中(通过比大小实现)用到的1E-9表示10^(-9)。
float 精度偏低6~7
scanf和printf都用%f,也可以用%e。
double 精度较高15~16
scanf用%lf,而printf用%f或%lf都行(f可以换成e)。
不过有的极个别编译器环境又要求double的scanf和printf都使用%lf。。
不过ACM代码里double类型在printf用的格式控制符是%f。
long double 精度很高 18~19
但自己几乎没用过,在CB测试了几个网上查到的它的几个格式控制符%Lf,%llf,%lf都无法通过……查资料ing……暂时不管。
关于优缺点:
图片摘自《C++ Primer Plus 第六版 中文版》