简体   繁体   English

无法在C ++中减去long double形式的long double

[英]can't subtract long double form long double in C++

Whenever I do subtraction from long double, I get incorrect answer 每当我从长双倍中减去时,我都会得到错误的答案

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);
}

For example, when a=0.53733 b=0.53736 m=2 i get R equal to -2.805572983821669e-006 例如,当a = 0.53733 b = 0.53736 m = 2时,我得到R等于-2.805572983821669e-006

Any ideas why this happen? 任何想法为什么会发生这种情况?

As noted in a comment, the ^ operator doesn't do what you expect. 如评论中所述, ^运算符未达到您的期望。 It's actually the bitwise XOR operator, what you are looking for it the pow function. 实际上,它是按位XOR运算符,您正在寻找pow函数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM