我正在计算一个球体的体积,经过大量的研究,我发现我不能使用:
float sphereRadius = 2.33;
float volSphere = 0;
volSphere = (4/3) * (M_PI) * std::pow(sphereRadius, 3);
但必须添加3.0
才能得到正确的答案。
volSphere = (4/3.0) * (M_PI) * std::pow(sphereRadius, 3);
为什么必须添加小数才能获得正确的计算?
(4/3)
是一个integer
除以另一个integer
,这会导致另一个integer
。integer
不能1.33
或类似的东西,所以它被截断为1
.使用小数,您告诉它是一个double
,并且将integer
除以double
会产生支持分数的double
。