我在移植一些C++代碼的Java的中間,我一直跨實例運行在那裏誰寫它一直在做下面的除法和乘法的特殊的順序:原因在C++
double c = (1.0/(a+1.0)*pow(b, a+1.0));
double d = (1./(integral(gamma, dmax)-integral(gamma, dmin)))*(integral(gamma+1, dmax)-integral(gamma+1, dmin));
相反的:
double c = pow(b, a+1.0)/(a+1.0);
double d = (integral(gamma+1, dmax)-integral(gamma+1, dmin))/(integral(gamma, dmax)-integral(gamma, dmin));
第二個看起來更清晰,除非我錯了有關C這樣的操作順序++他們應該做同樣的事情。有沒有理由做第一次而不是第二次?我能想到的唯一事情就是精確的一些奇怪的情況。