Синтаксис
двойной бух(двойной база, двойной exp);
В pow () функция определена в математика.час заголовочный файл.
Аргументы
Эта функция принимает два аргумента, база а также exp, рассчитать стоимость база возведен во власть exp. Здесь база а также exp оба двойные.
Возвращаемые значения
В случае успеха pow () функция возвращает значение база возведен во власть exp.
Если значение exp равно 0, pow () функция возвращает 1.
Если база отрицательный и exp нецелочисленный, pow () функция возвращает NaN (Не-число).
Примеры
// Пример1.c#включать
#включать
int main ()
int результат;
результат = (int) pow (3,5);
printf ("\ npow (3,5) =>% d", результат);
printf ("\ npow (3, -5) =>% lf", pow (3, -5));
printf ("\ npow (-3, -5) =>% lf", pow (-3, -5));
printf ("\ npow (3,5.1) =>% lf ", pow (3,5.1));
printf ("\ npow (-3,5.1) =>% lf ", pow (-3,5.1));
printf ("\ npow (-3, -5.1) =>% lf \ n ", pow (-3, -5.1));
возврат 0;
В Example1.c, мы видели результат pow () функция. Здесь мы используем -lm параметр командной строки для ссылки в математической библиотеке. В строках с 10 по 13 мы получили ожидаемый результат. Для строк 14 и 15 у нас есть -нан(Не число), потому что второй аргумент не является целым.
Экспонента с использованием битового сдвига
Если мы хотим вычислить показатель степени в степени 2, то мы можем сделать это с помощью битового сдвига.
Левый сдвиг на m эквивалентен первому члену и 2 - степени m.
п << m = n * pow (2, м)
Сдвиг вправо на m эквивалентен делению первого члена и 2 в степени m.
п >> м = n / pow (2, м)
Это работает только тогда, когда m положительно.
// Пример2.c#включать
int main ()
printf ("\ n 1< %d",1<<3);
printf ("\ n 5< %d",5<<3);
printf ("\ n -5< %d",-5<>3 =>% d ", 40 >> 3);
printf ("\ n 40 >> 3 =>% d", 40 >> 3);
printf ("\ n -40 >> 3 =>% d \ n", - 40 >> 3);
возврат 0;
В Example2.c, мы видели, как оператор битового сдвига может использоваться для экспоненты в степени 2. Очень полезно уменьшить сложность кода.
Экспонента с использованием пользовательской функции
Мы можем написать пользовательскую функцию для вычисления показателей. В Example3.c, мы напишем пользовательскую функцию экспонента (), который принимает два аргумента на основе и exp типа float ant integer.
// Example3.c#включать
экспонента с плавающей запятой (основание с плавающей запятой, целое число)
результат с плавающей точкой = 1.0;
float i;
если (exp < 0)
ехр = -1 * ехр;
для (i = 1; i<=exp;i++)
результат = результат * база;
результат = 1.0 / результат;
еще
для (i = 1; i% f ", показатель степени (3,0));
printf ("\ nexponent (3, -5) =>% f", показатель степени (3, -5));
printf ("\ nexponent (-3, -5) =>% f", показатель степени (-3, -5));
возврат 0;
Пример 3.c мы видели вывод пользовательской функции экспонента (). Эта функция работает, когда показатель степени является целым. Для действительной экспоненты мы должны использовать pow () функция.
Заключение
В этой статье мы видели использование pow () функция и Битовый сдвиг оператор, как можно вычислить экспоненту на языке C. Мы также научились писать собственную функцию для вычисления показателей. Теперь мы можем использовать эти методы в нашей программе на C без всяких сомнений.