-1

long double から減算を行うたびに、間違った答えが返されます

long double Runge(long double a, long double b, int m)
{
long double R;
R=(b-a)/((2^m)-1);
cout<<setprecision(16)<<R<<endl;
return(R);
}

たとえば、a=0.53733 b=0.53736 m=2 の場合、R は -2.805572983821669e-006 に等しくなります

なぜこれが起こるのですか?

4

1 に答える 1

2

コメントで述べたように、^オペレーターはあなたが期待することをしません。それは実際にはビット単位の XOR 演算子であり、探しているのはpow関数です。

于 2012-11-09T06:29:42.923 に答える