Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

возвести в степень?!

1.1K
24 июня 2003 года
Растаман
11 / / 20.09.2000
как в C++Builder возвести число в степень меньше 1 (например x^(1/3))?
358
24 июня 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Растаман
как в C++Builder возвести число в степень меньше 1 (например x^(1/3))?


F1 pow,powl

1.1K
24 июня 2003 года
Растаман
11 / / 20.09.2000
Цитата:
Originally posted by moonmike

F1 pow,powl



a = pow(5, 1/3);


a = 1;

pow работает с дробными степенями, но не с < 1

2.1K
24 июня 2003 года
maximaximax
83 / / 05.06.2003
возведение в произвольную степень

x^y = Exp(Y * Ln(X))
358
24 июня 2003 года
moonmike
423 / / 18.10.2002
Цитата:
Originally posted by Растаман


a = pow(5, 1/3);


a = 1;

pow работает с дробными степенями, но не с < 1


Ну как вариант можно возвести число в степень 1+с где с<0 и потом отнять это же число:

a = pow(5, 4/3) - 5;
Но сдается мне что библиотека это решает и без этого, и с подобными дробями работает, так что ищи где кривизна.
Потому как у меня:
double x = 4.0, y = 0.5;
double z = pow(x, y);
//z=2
long double w = powl(x,y);
//z=2
Может просто надо писать так:
double x = 5.0, y = 1/3;
double a = pow(x, y);

1.1K
24 июня 2003 года
Растаман
11 / / 20.09.2000
Цитата:
Originally posted by moonmike

Ну как вариант можно возвести число в степень 1+с где с<0 и потом отнять это же число:

a = pow(5, 4/3) - 5;



пока ждал ответа сам догадался
сначала тоже думал что отнять надо а потом вспомнил уроки математики :) и понял что надо так:

a = pow(5, 1+degree)/5;

только задание степени не работает как 1+1/3, выдает 1, а если задать как 1.33333 то работает ;)
если степень через переменную temp=1+1/3 то тоже не катит

14K
30 мая 2007 года
demonoide
30 / / 11.02.2007
а про преобразование типа все забыли?

1\3 ясен пень что 0
а вот (float)1\3 - уже другое
9.9K
01 июня 2007 года
BelStudent
48 / / 18.03.2007
Цитата: demonoide
а про преобразование типа все забыли?

1\3 ясен пень что 0
а вот (float)1\3 - уже другое


А можно так 1.0\3
Или попробуй так 0,3333. У меня второй вариант прокатил.

309
02 июня 2007 года
el scorpio
1.1K / / 19.09.2006
А ещё есть функция Power - нужно подключить юнит math.hpp
И, как сказал demonoide, главное - не забывать про приведение типов. Правда, слэш в другую сторону повернуть надо ;) (1.0 / 3)
247
02 июня 2007 года
wanja
1.2K / / 03.02.2003
А по старинке: exp(ln(x)/3)?
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог