概念
浮点型(又称实型)数据分为单精度(float)、双精度(double)和长双精度(long double)3种,在Visual C++ 6.0中,对float提供6位有效数字,对double提供15位有效数字,并且float和double的数值范围不同。对float分配4个字节,对double和long double分配8个字节。
表中类型标识符一栏中,方括号[ ]包含的部分可以省写,如short和short int等效,unsigned int和unsigned等效。
浮点数是个不精确数字,不能用于做逻辑比较
比如:
float f;
...
if(f==0.5)
{...}
f经过运算,尤其是经过除法运算,在数学上是0.5,但C++处理完后不一定是0.5,可能是0.50000000000000004或者其他数。
这是因为浮点数通常采用IEEE 754标准来表示,该标准使用二进制表示的浮点数,其中小数点的位置是固定的,这就导致了无法精确表示某些十进制数。
if这个逻辑判断也不会为1,大概率if下面的语句也永远都无法执行到。所以代码里永远都别写这类判断语句。