https://blog.csdn.net/ZK_J1994/article/details/72615031
分两种情况,一是操作数都是整型,那么运算结果也是整型,会舍去小数部分,相当于取(整型)商.二是有一个操作数为浮点数,运算结果就会保留小数部分,此时才算真正的除法.
例如,要计算2个double类型相除结果,如61/387,应得到0.15*****,直接用“/”计算结果却为0
如k1=61/387;
检查发现“/” 运算会自动将结果四舍五入,所以要得到精确的除法结果,只需将其中一个数转为float:
如k1 = (double) 61/387;或者static_cast<double> (61 / 387)。注意运算符结合的优先级。
如:
int column=500; int row=200; float grid_size_x=0.1; float grid_size_y=0.1; grid_size_x=50.0/column;//是对的,如果用50当被除数,那么grid_size_x=0 grid_size_y=30.0/row;