两种情况:
- 操作数都是整型,运算结果也是整型,会舍去小数部分,相当于取(整型)商
- 一个操作数为浮点数,运算结果就会保留小数部分,此时才算真正的除法
要得到精确的除法结果,需将其中一个数转为浮点数
例:
-
计算2个double类型相除结果,如61/387,应得0.15*****
直接用“/”计算结果却为0 -
k1=61/387;
检查发现“/” 运算会自动将结果四舍五入,
要得到精确的除法结果,只需将其中一个数转为float:
如 k1 = (double) 61/387;
或 static_cast<double> (61 / 387);
- 注意运算符结合的优先级