Szintaxis
kettős hadifogoly(kettős bázis, kettős exp);
A hadifogoly() függvény meghatározása matek.h fejlécfájl.
Érvek
Ennek a függvénynek két argumentuma van, bázis és exp, értékének kiszámításához bázis erejére emelt exp. Itt bázis és exp mindkettő kettős.
Visszatérési értékek
A sikeren a hadifogoly() függvény adja vissza a bázis erejére emelt exp.
Ha az értéke exp értéke 0, a hadifogoly() A függvény értéke 1.
Ha bázis negatív és exp nem integrál, az hadifogoly() függvény visszatér NaN (Nem-A-szám).
Példák
// Példa1.c#include
#include
int main ()
int eredmény;
eredmény = (int) pow (3,5);
printf ("\ npow (3,5) =>% d", eredmény);
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));
visszatér 0;
Az 1. példában.c, láttuk a kimenetét hadifogoly() funkció. Itt használjuk a -lm parancssori paraméter a matematikai könyvtárban való összekapcsoláshoz. A 10-től 13-ig terjedő sorokig a várt módon kaptuk meg a kimenetet. A 14. és 15. sorhoz megvan -nan(Nem szám), mert a második érv nem szerves.
Exponent a Bit Shifting használatával
Ha ki akarjuk számolni a 2 hatványának kitevőjét, akkor biteltolással megtehetjük.
A bal m eltolás m-vel egyenértékű az első taggal és 2 az m hatványával.
n << m = n * erő (2, m)
A jobb elmozdulás m-mel egyenértékű az első tag, 2 pedig az m hatvány osztásával.
n >> m = n / pow (2, m)
Csak akkor működik, ha m pozitív.
// 2. példa.c#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);
visszatér 0;
A 2. példában.c, láttuk, hogy a biteltolás operátor hogyan használható a 2 hatványának kitevőjére. Nagyon hasznos csökkenteni a kód összetettségét.
Exponens a felhasználó által definiált függvény használatával
Írhatunk egy felhasználó által definiált függvényt az exponensek kiszámításához. A 3. példában.c, írunk egy felhasználó által definiált függvényt kitevő (), amely két argumentumon alapuló és exp típusú float ant egész számot vesz fel.
// 3. példa.c#include
úszó kitevő (úszó alap, int exp)
úszó eredmény = 1.0;
úszó i;
ha (exp < 0)
exp = -1 * exp;
mert (i = 1; i<=exp;i++)
eredmény = eredmény * alap;
eredmény = 1.0 / eredmény;
más
for (i = 1; i% f ", kitevő (3,0));
printf ("\ nexponent (3, -5) =>% f", kitevő (3, -5));
printf ("\ nexponent (-3, -5) =>% f", kitevő (-3, -5));
visszatér 0;
3. példa.c láttuk a felhasználó által definiált függvény kimenetét kitevő (). Ez a függvény akkor működik, ha a kitevõ integrál. A valódi exponenshez a hadifogoly() funkció.
Következtetés
Ebben a cikkben láttuk a hadifogoly() funkció és Bitváltás operátor, hogy az exponens hogyan számítható ki C nyelven. Megtanultuk azt is, hogyan kell megírni a saját függvényünket az exponensek kiszámításához. Most minden kétség nélkül felhasználhatjuk ezeket a technikákat a C programunkban.