C Programmering

Hvordan skriver du en eksponent i C?

Hvordan skriver du en eksponent i C?
I C-språket kan eksponentverdien beregnes ved hjelp av pow () funksjon. Denne artikkelen vil lære hvordan du bruker pow () funksjon for å utføre eksponentieringsoperasjonen. Vi vil også lære å bruke bitskiftende operatør for å utføre eksponentieringsoperasjonen. Vi vil prøve å skrive en brukerdefinert funksjon for å beregne eksponenter.  Så la oss komme i gang.

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.

Hvordan installere og spille Doom på Linux
Introduksjon til Doom Doom-serien stammer fra 90-tallet etter utgivelsen av den originale Doom. Det ble en øyeblikkelig suksess, og fra den tiden og u...
Vulkan for Linux-brukere
Med hver nye generasjon grafikkort ser vi spillutviklere skyve grensene for grafisk troskap og komme et skritt nærmere fotorealisme. Men til tross for...
OpenTTD vs Simutrans
Å lage din egen transportsimulering kan være morsom, avslappende og ekstremt fristende. Derfor må du sørge for at du prøver så mange spill som mulig f...