これはかなり初歩的な質問だと思いますが、これら 2 つのコードで異なる結果が得られる理由がわかりません。Pentium は変数 Divider を中間値 ( 256.0 / (double)k ) とは異なる方法で処理しますか?
int j=64, k=20;
double x, y, Divider;
Divider = 256.0 / (double)k;
x = (double)j / Divider - 5.0;
y = (double)j / ( 256.0 / (double)k ) - 5.0;
結果: x = -2.77555756156289E-16 y = 0.0
参考までに、私は Embarcadero の XE3 C++ Builder を使用していますが、これは Builder 6 と同じ結果をもたらします。両方でデフォルトのコンパイラ設定を使用しています。