1.4.3 理解整型与浮点型除法
接下来的一行代码中使用斜线(/)来做除法运算。然而,输出结果可能有点让人出乎意料。根据C++(www.cppentry.com)的实现方式(以及该程序平台),7除以3等于2。为什么?原因在于,整型(没有小数部分的数)的算术运算结果总是整型。因为7和3都是整型,所以结果也必须是整型,其小数部分被去除。
如果要得到保留小数部分的结果,那么至少需要有一个数是浮点型(带小数部分的数)。接下来一行代码中表达式7.0 / 3.0的结果便保留了小数部分。这次结果更精确,是2.33333。
陷阱
您也许注意到7.0/3.0(2.33333)的结果虽然包含了小数部分,但这个结果仍然是被截短过的(真正的结果在十进制小数点后面有无穷多个3) 。需要了解的是,计算机一般只存储浮点数的有限个数的高位数字。然而,C++(www.cppentry.com)提供了不同种类的浮点数以满足最苛刻的要求,甚至可以满足计算密集型的3D游戏的要求。