それぞれの場合のステートメントは、数学的に同等です。私の質問は、コーディング中にどちらを選択するのが良いかです。コードのどの部分が変数の一部の範囲でオーバーフローを引き起こす可能性があり、他の部分では同じ範囲でオーバーフローが発生しないか. コードのどの部分がより正確で、その理由は?
double x, y, z;
//case 1
x = (x * y) * z;
x *= y * z;
//case 2
z = x + x*y;
z = x * ( 1.0 + y);
//case 3
y = x/5.0;
y = x*0.2;