0

次のコードがあります。

double e = 36858.767828375385;
double c = 2;
double d = 67.877433500000009;

e = sqrt(e / (c * (c - 1))) / d;

デバッガーによると、結果の値eは 2 ですが、2.8284271 のはずです。私は何を間違っていますか?

4

2 に答える 2

6

値 2 を取る理由eは、それが実際の答えだからです。

sqrt(e / (c * (c-1))) / d;

= sqrt(e / (2 * (2 - 1))) / d

= 平方根(e / 2) / d

=平方(36858.767828375385/2)/d

=平方(18429.383914188)/d

= 135.754867 / 日

= 135.754867 / 67.877433500000009

= 2

もしかして、式を間違えていませんか?

お役に立てれば!

于 2013-06-19T19:10:12.723 に答える
1

サンプルコード:

c = 2;
c = c * (c - 1);

評価は 2 * (2 - 1) => 2 CORRECT (実際の結果は 2) になります。

1 * (2 - 1) => 1 WRONG (期待値 2.8284271) にはなりません。

これがあなたの混乱だと思います。

于 2013-06-20T00:53:10.990 に答える