не может вычесть длинную двойную форму длинного двойного в переполнении стека

Всякий раз, когда я делаю вычитание из длинного двойного, я получаю неправильный ответ

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

Есть идеи, почему это происходит?

-1

Решение

Как отмечено в комментарии, ^ Оператор не делает то, что вы ожидаете. Это на самом деле побитовый оператор XOR, что вы ищете pow функция.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]