Синтаксис
двойно 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. Научихме се и как да напишем собствена функция за изчисляване на показателите. Сега можем да използваме тези техники в нашата програма без никакво съмнение.