Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 28.02.2010, 13:27   #1
n4ela
 
Регистрация: 05.03.2009
Сообщений: 8
По умолчанию Отрицательное число в дробную степень

Как возвести отрицательное число, в дробную степень.
Например число -2.3^2.3
n4ela вне форума Ответить с цитированием
Старый 28.02.2010, 13:34   #2
Stepler
Форумчанин
 
Аватар для Stepler
 
Регистрация: 03.02.2008
Сообщений: 213
По умолчанию

Код:
pow(-2.3,2.3)
библиотека math.h
Пишу программы на заказ, контакты под аватаром!
Отзывы тут
Stepler вне форума Ответить с цитированием
Старый 28.02.2010, 13:37   #3
Blade
Software Engineer
Участник клуба
 
Аватар для Blade
 
Регистрация: 07.04.2007
Сообщений: 1,618
По умолчанию

Цитата:
double pow(double x, double y); /* ANSI */
Ошибка области определения имеет место в случае, если x = 0 и y<=0 либо x<=0 и y не целое.
Ваше сообщение слишком короткое. Оно должно быть не менее 10 символов.
Мужество есть лишь у тех, кто ощутил сердцем страх, кто смотрит в пропасть, но смотрит с гордостью в глазах. (с) Ария
Blade вне форума Ответить с цитированием
Старый 28.02.2010, 13:46   #4
n4ela
 
Регистрация: 05.03.2009
Сообщений: 8
По умолчанию

Цитата:
Сообщение от Stepler Посмотреть сообщение
Код:
pow(-2.3,2.3)
библиотека math.h
Это точно не пашет в ответе получаю nan.
В емаксовском калькулаторе то же ответ nan.
А вот взял обычный калькулятор он посчитал.
Так что тут надо как то по другому.
n4ela вне форума Ответить с цитированием
Старый 28.02.2010, 14:38   #5
Alex Cones
Trust no one.
Старожил
 
Аватар для Alex Cones
 
Регистрация: 07.04.2009
Сообщений: 6,526
По умолчанию

X^Y = EXP^(Y * Ln(X))

попробуйте
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ
GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ
Alex Cones вне форума Ответить с цитированием
Старый 28.02.2010, 15:21   #6
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

для отрицательных чисел определены только целые степени
Цитата:
X^Y = EXP^(Y * Ln(X))
логарифм от отрицательных тоже не определен
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 28.02.2010, 17:36   #7
Indian
Форумчанин
 
Регистрация: 23.02.2010
Сообщений: 107
По умолчанию

Если степень нечетная(напр. 2.3, 3.5, 7.9), то никак, т.к.:
Цитата:
Корень чётной степени из отрицательного числа не может равняться никакому, ни положительному, ни отрицательному, числу, так как и то и другое после возведения в степень с чётным показателем даёт положительное число, а не отрицательное.
http://mirurokov.ru/video-uroki-mate...kii-koren.html
Поясняю:
2.3=23/10.
(-num^23)^1/10. Корень 10 степени из (отрицательного числа num)^23.

Если степень четная, то:
24/10=12/5.
(-num^12)^1/5. Корень 5 степени из (отрицательного числа num)^12.

И результат всегда положителен, потому что:
(-1)^12=1

Таким образом можно возводить [отрицательное число] в любую [дробную степень с четным числителем].
Пример:
-15.7^4/3. Т.е. -15.7^1.33333.
(-15.7^4)^1/3=39,312699787

useless_faq: Почему число в нулевой степени равно единице?
...или числителем равным 0:
(-1)^0 = (-1)^(2-2) = (-1)^2 : (-1)^2 = 1 : 1 = 1

...или любым числителем и нечетным знаменателем:
(-3.5^3)^(1/17)
Цитата:
Корень нечётной степени из отрицательного числа - отрицательное число, так как положительное число, возведённое в любую степень, даёт положительное число, а не отрицательное.
http://mirurokov.ru/video-uroki-mate...kii-koren.html
Очевидно, придется вводить числитель и знаменатель дроби.

Последний раз редактировалось Indian; 28.02.2010 в 18:13.
Indian вне форума Ответить с цитированием
Старый 31.10.2010, 00:02   #8
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

вводить числитель и знаменатель глупо, ибо при домножении и того и другого на N степень не изменится а результат может измениться
вообще в приведенном примере результат будет комплексный
-2.3^2.3=(2.3^2.3)*(cos(2.3*pi)+i*si n(2.3*pi))
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Преобразовать отрицательное число в положительное valerij Microsoft Office Excel 7 26.10.2011 09:32
Как возвести число в степень? Wintrymoon Паскаль, Turbo Pascal, PascalABC.NET 36 09.05.2011 15:11
Максимальное отрицательное. Матрица ( Pascal ) P1RoG Помощь студентам 5 09.12.2009 15:51
Отрицательное значение TextBox segail Microsoft Office Excel 7 08.11.2009 20:35
Возвести в степень b некоторое число a Михаил70 Общие вопросы Delphi 3 09.09.2009 16:10