Синтаксис
двойно прах(двойно база, двойно опит);
The пуд () функцията е дефинирана в математика.з заглавен файл.
Аргументи
Тази функция взема два аргумента, база и опит, за да се изчисли стойността на база издигнати до властта на опит. Тук база и опит и двете са двойни.
Връща стойности
При успех, пуд () функция връща стойността на база издигнати до властта на опит.
Ако стойността на опит е 0, пуд () функцията връща 1.
Ако база е отрицателно и опит не е неразделна, пуд () функцията връща NaN (Не-A-номер).
Примери
// Пример1.° С#include
#include
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 ", прах (3,5.1));
printf ("\ npow (-3,5.1) =>% lf ", прах (-3,5.1));
printf ("\ npow (-3, -5.1) =>% lf \ n ", мощност (-3, -5.1));
връщане 0;
В Пример1.c, видяхме изхода на пуд () функция. Тук използваме -lm параметър на командния ред за свързване в математическата библиотека. От редове 10 до 13 имаме изхода, както се очаква. За редове 14 и 15 имаме -нан(Не число), защото вторият аргумент не е неразделна.
Експонента с използване на битово изместване
Ако искаме да изчислим степента на степен 2, тогава можем да го направим, като използваме изместване на битовете.
Лявата смяна на m е еквивалентна на първия член и 2 на мощността m.
н << m = п * прах (2, m)
Дясната смяна на m е еквивалентна на разделянето на първия член и 2 на степента m.
n >> m = п / прах (2, m)
Работи се само когато m е положително.
// Пример2.° С#include
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;
В Пример2.c, видяхме как операторът за битово преместване може да се използва за степента на степен 2. Много е полезно да се намали сложността на кода.
Експонента, използваща дефинирана от потребителя функция
Можем да напишем дефинирана от потребителя функция за изчисляване на експоненти. В Пример3.c, ще напишем дефинирана от потребителя функция експонента (), който взема два аргумента, базирани и exp от тип float ant integer.
// Пример3.° С#include
експонатен показател (плаваща основа, int exp)
плаващ резултат = 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 видяхме изхода на дефинираната от потребителя функция експонента (). Тази функция работи, когато степента е интегрална. За реална експонента трябва да използваме пуд () функция.
Заключение
В тази статия видяхме използването на пуд () функция и Преместване на бита оператор как експонентата може да бъде изчислена на език C. Също така се научихме как да напишем собствена функция за изчисляване на експоненти. Сега можем да използваме тези техники в нашата програма C без никакво съмнение.