Syntax
dubbel pow(dubbel bas, dubbel exp);
De pow () funktionen definieras i matematik.h rubrikfil.
Argument
Denna funktion tar två argument, bas och exp, för att beräkna värdet av bas höjd till kraften i exp. Här bas och exp båda är dubbla.
Returnera värden
När det gäller framgång, pow () funktionen returnerar värdet på bas höjd till kraften i exp.
Om värdet på exp är 0, är pow () funktionen returnerar 1.
Om bas är negativ och exp är inte integrerad, är pow () funktionen återgår NaN (Not-A-Number).
Exempel
// Exempel1.c#omfatta
#omfatta
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));
returnera 0;
I exempel 1.c, vi har sett produktionen av pow () fungera. Här använder vi -lm kommandoradsparameter för att länka i mattebiblioteket. Från rad 10 till 13 har vi fått utdata som förväntat. För raderna 14 och 15 har vi fått -nan(Inte ett nummer) eftersom det andra argumentet inte är integrerat.
Exponent med Bit Shifting
Om vi vill beräkna exponenten till kraften 2 kan vi göra det med hjälp av bitförskjutning.
Vänsterförskjutningen med m motsvarar den första termen och 2 med effekten m.
n << m = n * pow (2, m)
Den högra förskjutningen med m är ekvivalent med delningen av den första termen och 2 med effekten m.
n >> m = n / pow (2, m)
Det är bara arbete när m är positivt.
// Exempel2.c#omfatta
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);
returnera 0;
I exempel 2.c, vi har sett hur bitförskjutningsoperatören kan användas för exponenten till kraften 2. Det är mycket användbart att minska kodens komplexitet.
Exponent med användardefinierad funktion
Vi kan skriva en användardefinierad funktion för att beräkna exponenter. I exempel 3.c, vi skriver en användardefinierad funktion exponent (), som tar två argument baserat och exp av typen float ant heltal.
// Exempel3.c#omfatta
float exponent (float base, int exp)
flytresultat = 1.0;
flyta i;
om (exp < 0)
exp = -1 * exp;
för (i = 1; i<=exp;i++)
resultat = resultat * bas;
resultat = 1.0 / resultat;
annan
för (i = 1; i% f ", exponent (3,0));
printf ("\ nexponent (3, -5) =>% f", exponent (3, -5));
printf ("\ nexponent (-3, -5) =>% f", exponent (-3, -5));
returnera 0;
Exempel 3.c vi har sett utdata från den användardefinierade funktionen exponent (). Denna funktion fungerar när exponenten är integrerad. För riktig exponent måste vi använda pow () fungera.
Slutsats
I den här artikeln har vi sett att använda pow () funktion och Lite förskjutning operatör hur exponent kan beräknas på C-språk. Vi har också lärt oss att skriva vår egen funktion för att beräkna exponenter. Nu kan vi använda dessa tekniker i vårt C-program utan tvekan.