C Програмиране

Как се записва степен в C?

Как се записва степен в C?
На езика C експоненталната стойност може да бъде изчислена с помощта на пуд () функция. Тази статия ще научи как да използвате пуд () функция за извършване на операцията за степенуване. Също така ще научим как да използваме оператор за прехвърляне на битове за извършване на операцията за степенуване. Ще се опитаме да напишем дефинирана от потребителя функция за изчисляване на експоненти.  И така, нека започнем.

Синтаксис

двойно прах(двойно база, двойно опит);

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 без никакво съмнение.

OpenTTD срещу Simutrans
Създаването на собствена транспортна симулация може да бъде забавно, релаксиращо и изключително примамливо. Ето защо трябва да сте сигурни, че изпробв...
Урок за OpenTTD
OpenTTD е една от най-популярните бизнес симулационни игри там. В тази игра трябва да създадете прекрасен транспортен бизнес. Въпреки това, ще започне...
SuperTuxKart за Linux
SuperTuxKart е страхотно заглавие, създадено да ви предостави безплатно изживяването на Mario Kart във вашата Linux система. Играта е доста предизвика...