总结,你应该记住的浮点数的两件事:
1)提供有限的精度的浮点数。浮动通常提供大约7位有效数字的精度值,和双打提供大约16位有效数字。尝试使用更多的有意义的数字会导致精度损失。(注:占位符零点不算有意义的数字,所以一个数的22000000000,或0.00000033只占2位)。
2)浮点数经常有小的舍入误差。很多时候这些不起眼的因为他们是如此的小,因为数据截断误差传播到输出之前,是不会被删除的部分。不管怎样,对浮点数的比较可能不能达到预期的结果在两个数是接近的。
关系算子部分比较浮点数有更多的细节。
默认情况下,如果您键入一个浮点值到C + +的类型为双。因此,如果你做这样的事:
浮fvalue = 4.53;// 4.53是一个双
你指定一个双向浮动,而失去精度,而编译器可能会抱怨。
把一个“F”后的值意味着你意愿的价值是一个浮动的,不是一双。当你这样做的:
浮fvalue = 4.53f;/ / 4.53是一个浮动的
你是一个浮点变量分配一个float值,使更多的意义。