-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 回答