Всякий раз, когда я делаю вычитание из длинного двойного, я получаю неправильный ответ
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
Есть идеи, почему это происходит?
Как отмечено в комментарии, ^
Оператор не делает то, что вы ожидаете. Это на самом деле побитовый оператор XOR, что вы ищете pow
функция.
Других решений пока нет …