Syntaks
dobbelt pow(dobbelt utgangspunkt, dobbelt exp);
De pow () funksjon er definert i matte.h topptekstfil.
Argumenter
Denne funksjonen tar to argumenter, utgangspunkt og eksp, for å beregne verdien av utgangspunkt hevet til kraften i eksp. Her utgangspunkt og eksp begge er doble.
Returner verdier
På suksess, den pow () funksjonen returnerer verdien av utgangspunkt hevet til kraften i eksp.
Hvis verdien av eksp er 0, den pow () funksjonen returnerer 1.
Hvis utgangspunkt er negativ og eksp er ikke integrert, er pow () funksjonen returnerer NaN (Ikke-A-nummer).
Eksempler
// Eksempel1.c#inkludere
#inkludere
int main ()
int resultat;
resultat = (int) pow (3,5);
printf ("\ npow (3,5) =>% d", resultat);
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));
retur 0;
I eksempel 1.c, vi har sett utdataene fra pow () funksjon. Her bruker vi -lm kommandolinjeparameter å koble i mattebiblioteket. Fra linje 10 til 13 har vi fått utdataene som forventet. For linje 14 og 15 har vi fått -nan(Ikke et tall) fordi det andre argumentet ikke er integrert.
Eksponent ved hjelp av Bit Shifting
Hvis vi ønsker å beregne eksponenten til kraften til 2, kan vi gjøre det ved å bruke bitforskyvning.
Venstre skift med m tilsvarer den første termen og 2 med kraften m.
n << m = n * pow (2, m)
Høyre forskyvning med m tilsvarer delingen av den første termen og 2 til kraften m.
n >> m = n / pow (2, m)
Det er bare arbeid når m er positiv.
// Eksempel2.c#inkludere
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);
retur 0;
I eksempel 2.c, vi har sett hvordan bitskiftoperatøren kan brukes til eksponenten til kraften til 2. Det er veldig nyttig å redusere kodenes kompleksitet.
Eksponent ved bruk av brukerdefinert funksjon
Vi kan skrive en brukerdefinert funksjon for å beregne eksponenter. I eksempel 3.c, vil vi skrive en brukerdefinert funksjon eksponent (), som tar to argumenter basert og eksp av typen float ant heltall.
// Eksempel3.c#inkludere
float eksponent (float base, int exp)
flytresultat = 1.0;
flyte i;
hvis (eksp < 0)
exp = -1 * exp;
for (i = 1; i<=exp;i++)
resultat = resultat * base;
resultat = 1.0 / resultat;
ellers
for (i = 1; i% f ", eksponent (3,0));
printf ("\ nexponent (3, -5) =>% f", eksponent (3, -5));
printf ("\ nexponent (-3, -5) =>% f", eksponent (-3, -5));
retur 0;
Eksempel 3.c vi har sett utdataene fra den brukerdefinerte funksjonen eksponent (). Denne funksjonen fungerer når eksponenten er integrert. For ekte eksponent må vi bruke pow () funksjon.
Konklusjon
I denne artikkelen har vi sett å bruke pow () funksjon og Bit skiftende operatør hvordan eksponent kan beregnes på C-språk. Vi har også lært å skrive vår egen funksjon for å beregne eksponenter. Nå kan vi uten tvil bruke disse teknikkene i C-programmet vårt.