C Programmering

Hur skriver du en exponent i C?

Hur skriver du en exponent i C?
På C-språket kan exponentvärdet beräknas med hjälp av pow () fungera. Den här artikeln lär dig hur du använder pow () funktion för att utföra exponentieringsoperationen. Vi lär oss också hur man använder bitförskjutande operatör för att utföra exponentieringsoperationen. Vi kommer att försöka skriva en användardefinierad funktion för att beräkna exponenter.  Så, låt oss komma igång.

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.

5 bästa arkadspel för Linux
Numera är datorer seriösa maskiner som används för spel. Om du inte kan få den nya poängen vet du vad jag menar. I det här inlägget kommer du att känn...
Strid om Wesnoth 1.13.6 Utveckling släppt
Strid om Wesnoth 1.13.6 släpptes förra månaden, är den sjätte utvecklingsversionen i 1.13.x-serien och den levererar ett antal förbättringar, framför ...
Så här installerar du League Of Legends på Ubuntu 14.04
Om du gillar League of Legends är det här en möjlighet för dig att testa League of Legends. Observera att LOL stöds på PlayOnLinux om du är en Linux-a...