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

How Do You Write An Exponent C



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

Синтаксис

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







The NS () функцията е дефинирана в математика заглавен файл.



Аргументи

Тази функция приема два аргумента, база и опит, за изчисляване на стойността на база издигнат до силата на опит . Тук база и опит и двете са двойни.



Връщащи стойности

За успеха, NS () функция връща стойността на база издигнат до силата на опит .





Ако стойността на опит е 0, NS () функцията връща 1.

Ако база е отрицателен и опит е неинтегрален, NS () функцията се връща NaN (Не-A-номер).



Примери

// Пример1.c
#включва
#включва

intглавен()
{

intрезултат;
резултат= (int) NS (3,5);
printf ('нpow (3,5) => %d ',резултат);
printf ('нpow (3, -5) => %lf ', NS (3, -5));
printf ('нpow (-3, -5) => %lf ', NS (-3, -5));
printf ('нpow (3,5.1) => %lf ', NS (3,5.1));
printf ('нpow (-3,5.1) => %lf ', NS (-3,5.1));
printf ('нpow (-3, -5.1) => %lfн', NS (-3, -5.1));

връщане 0;
}

В Пример 1.c видяхме изхода на NS () функция. Тук използваме -лм параметър на командния ред за свързване в математическата библиотека. От редове 10 до 13 имаме резултата, както се очаква. За редове 14 и 15 имаме -нан (Не е число), защото вторият аргумент не е интегрален.

Експонента с помощта на битово изместване

Ако искаме да изчислим степента до степен 2, можем да го направим с помощта на битово изместване.

Преместването наляво с m е еквивалентно на първия член и 2 на степента m.

н<< m = n*pow (2, m)

Дясното изместване с m е еквивалентно на разделянето на първия член и 2 на степента m.

n >> m = n/pow (2, m)

Това е работа само когато m е положително.

// Пример2.в
#включва

intглавен()
{
printf ('н1<%d',1<<3);
printf ('н5<%d',5<<3);
printf ('н-5<%d', -53 => %д', 40 >> 3);
printf ('
н40>>3 => %д', 40 >> 3);
printf ('
н-40>>3 => %d n', -40 >> 3);

връщане 0;
}

В пример 2.в видяхме как операторът за преместване на битове може да се използва за степента на степен 2. Много е полезно да се намали сложността на кода.

Експонент с помощта на дефинирана от потребителя функция

Можем да напишем дефинирана от потребителя функция за изчисляване на степенните показатели. В Пример 3.c ще напишем дефинирана от потребителя функция показател (), който приема два аргумента базирани и exp от тип float ant integer.

// Пример3.в
#включва

плувампоказател(плувамбаза, int опит )
{
плувамрезултат=1.0;
плувамi;
ако( опит < 0)
{
опит = -1 * опит ;
за(i=1;i<= опит ;i++)
резултат=резултат*база;

резултат= 1.0/резултат;
}
иначе
{
за(i=1;i%е', показател (3,0));
printf ('
nexponent(3, -5) => %е', показател (3, -5));
printf ('
nexponent(-3, -5) => %е', показател (-3, -5));

връщане 0;
}

Пример 3. в. Видяхме изхода на дефинираната от потребителя функция показател () . Тази функция работи, когато показателят е интегрален. За истински показател трябва да използваме NS () функция.

Заключение

В тази статия видяхме използването на NS () функция и Малко изместване оператор как степента може да се изчисли на език C. Научихме се и как да напишем собствена функция за изчисляване на показателите. Сега можем да използваме тези техники в нашата програма без никакво съмнение.