Форум программистов, компьютерный форум CyberForum.ru

Функция pow. Преобразование типов - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 135, средняя оценка - 4.90
php_coder
Сообщений: n/a
26.10.2008, 09:57     Функция pow. Преобразование типов #1
Есть два вопроса:

1) в докуметации нашёл описание, что pow(x,y) возводит x в степень y и притом входные параметры должны быть или double или float. Как поступить если x && y = int? а также интересует может ли в этой ф-ции y принимать дробные значения и x отрицательные?

2) есть код
C++
1
2
3
4
5
6
float pogresh(float kStd, float sumK)
{
    int n = 3;
    float pogr =(float)( kStd * pow(sumK,0.5)) / (n*(n-1));
    return pogr;
}
возвращает при любых значениях sumK, и одном и том же значении коэфф. Стьюдента, тобишь KStd, одно и тоже значение.

буду благодарен людям, скинувшим хорошую документацию про функции math (желательно на русском), т.к. в самоучители про это меньше страницы написано.

Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.10.2008, 09:57     Функция pow. Преобразование типов
Посмотрите здесь:

Срочно функция pow(a,n) C++
C++ Функция pow() перегрузки
Функция pow и график C++
C++ Рекурсивная функция pow(x, n)
C++ Функция pow()
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
26.10.2008, 10:29     Функция pow. Преобразование типов #2
1.
Произойдет преобразование типов int->double.Это,Кстати,не вопрос к документации math,просто знание основ.
Дробные и отрицательные значения принимает,кажется.Возьми и проверь,это две минуты.
2. у меня код работает как надо.
Код
pogresh(1,4)  0.333333
pogresh(1,8)  0.471405
pogresh(2,5)  0.745356
pogresh(2,10) 1.054093
pogresh(2,36) 2.000000
p.s документация ищется на яндексе и гугле.

Добавлено через 8 минут 20 секунд
Прогнал pow для отрицательных,дробных и дробных отрицательных значений.Работает.
php_coder
Сообщений: n/a
26.10.2008, 10:34     Функция pow. Преобразование типов #3
>> Возьми и проверь,это две минуты.
если бы не проверял то и вопроса бы не было

could be 'long double pow(long double,int)' при использовании :
Код
float pogr =(float)( kStd * pow(sumK,[B]0.5[/B])) / (n*(n-1));
если использовать :
Код
float pogr =(float)( kStd * pow(sumK,[B]1/2[/B])) / (n*(n-1));
ошибки нету но и резултат получается не верным.

п.с: одно дело искать в google, другое пользоваться мануалами, которые посоветовал специалист по данному вопросу


>> Прогнал pow для отрицательных,дробных и дробных отрицательных значений.Работает.
юзаю MW C++ 2008 Express, не работает )



>>>>>>>>>>>>>>>Всё Работает, я Ошибся =) , спс за помошь
XuTPbIu_MuHTAu
Эксперт C++
 Аватар для XuTPbIu_MuHTAu
2219 / 734 / 10
Регистрация: 27.05.2008
Сообщений: 1,507
26.10.2008, 10:38     Функция pow. Преобразование типов #4
Ну,в наше время сложно отыскать специалистов по функции pow.
Код с 1/2 работать,конечно,не будет.
Попробуй
Код
printf("%f",(float)(1/2));
Увидишь ноль. Почему?Потому что делишь целое на целое. Результат получается целого типа,и только после этого преобразуется в тип float.
При делении целочисленных типов дробная часть отбрасывается. Это поправимо. Пиши 1.0/2.0,или 1/2.0 или 1.0/2. Советую почитать что-нибудь про преобразование типов.

P.S документацию,которую посоветуют профессионалы,они скорее всего сами когда-то нашли в яндексе или гугле)
amatorIP
 Аватар для amatorIP
3 / 3 / 0
Регистрация: 22.07.2010
Сообщений: 141
26.11.2010, 15:51     Функция pow. Преобразование типов #5
А как контролировать количество знаков после точки?
Например получил ответ 56.1232, а хочу получить 56.1231854... и дальше.
Quetalse
Сообщений: n/a
03.12.2013, 00:29     Функция pow. Преобразование типов #6
Цитата Сообщение от amatorIP Посмотреть сообщение
А как контролировать количество знаков после точки?
Например получил ответ 56.1232, а хочу получить 56.1231854... и дальше.
C++
1
printf("f", w, p, number); // w p ширина и точность
Yandex
Объявления
03.12.2013, 00:29     Функция pow. Преобразование типов
Ответ Создать тему
Опции темы

Текущее время: 18:20. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru