Почему pow(-1,1/3.) отрицательная неопределенность -1#ind, а не -1? Как правильно записать три корня - Вопросы по С+
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Почему pow(-1,1/3.) отрицательная неопределенность -1#ind, а не -1? Как правильно записать три корня

Регистрация
17 Янв 2013
Сообщения
81
Репутация
0
Спасибо
0
Монет
0
Почему pow(-1,1/3.) отрицательная неопределенность -1#ind, а не -1? Как правильно записать три корня из единицы на с++?
 
Регистрация
8 Сен 2013
Сообщения
84
Репутация
0
Спасибо
0
Монет
0
pow вычисляет через натуральный логарифм, а он, как известно, определён только для положительных чисел, да и сама степень - это не дробь 1/3, а просто десятичная дробь. Если вам нужна поддержка извлечения корня n-й степени отрицательного числа, тогда делайте проверку если знаменатель степени нечётный, тогда ответ существует и вычисляется как -pow(abs(x),a), при этом само обращение к функции извлечения корня должно иметь вид f(x, m, n), где m числитель, n знаменатель степени.
 
Сверху Снизу