Hvordan skriver man en eksponent i C?

How Do You Write An Exponent C



I C -sproget kan eksponentværdien beregnes ved hjælp af NS () fungere. Denne artikel vil lære at bruge NS () funktion til at udføre eksponentieringsoperationen. Vi vil også lære at bruge bitskiftende operatør at udføre eksponentieringsoperationen. Vi vil prøve at skrive en brugerdefineret funktion til beregning af eksponenter. Så lad os komme i gang.

Syntaks

dobbelt NS ( dobbelt grundlag, dobbelt exp);







Det NS () funktion er defineret i matematik. h header -fil.



Argumenter

Denne funktion tager to argumenter, grundlag og eksp, at beregne værdien af grundlag hævet til magten eksp . Her grundlag og eksp begge er dobbelte.



Returværdier

På succes, den NS () funktion returnerer værdien af grundlag hævet til magten eksp .





Hvis værdien af eksp er 0, den NS () funktion returnerer 1.

Hvis grundlag er negativ og eksp er ikke integreret, den NS () funktionen returnerer NaN (Ikke-A-nummer).



Eksempler

// Eksempel1.c
#omfatte
#omfatte

intvigtigste()
{

intresultat;
resultat= (int) NS (3,5);
printf (' npow (3,5) => %d ',resultat);
printf (' npow (3, -5) => %lf ', NS (3, -5));
printf (' npow (-3, -5) => %lf ', NS (-3, -5));
printf (' npow (3,5,1) => %lf ', NS (3,5.1));
printf (' npow (-3,5,1) => %lf ', NS (-3,5.1));
printf (' npow (-3, -5,1) => %lf n', NS (-3, -5.1));

Vend tilbage 0;
}

I eksempel1.c har vi set output fra NS () fungere. Her bruger vi -lm kommandolinjeparameter, der skal linkes i det matematiske bibliotek. Fra linje 10 til 13 har vi fået output som forventet. For linje 14 og 15 har vi -nan (Ikke et tal), fordi det andet argument ikke er integreret.

Eksponent ved hjælp af Bit Shifting

Hvis vi vil beregne eksponenten til effekten 2, kan vi gøre det ved hjælp af bitskift.

Skiftet til venstre med m svarer til det første udtryk og 2 til effekten m.

n<< m = n*pow (2, m)

Det højre skift med m svarer til opdelingen af ​​det første udtryk og 2 til magten m.

n >> m = n/pow (2, m)

Det er kun arbejde, når m er positiv.

//Eksempel2.c
#omfatte

intvigtigste()
{
printf (' n1<%d',1<<3);
printf (' n5<%d',5<<3);
printf (' n-5<%d', -53 => %d', 40 >> 3);
printf ('
n40>>3 => %d', 40 >> 3);
printf ('
n-40>>3 => %d n', -40 >> 3);

returnere 0;
}

I eksempel2.c har vi set, hvordan bit shift -operatoren kan bruges til eksponenten til effekten 2. Det er meget nyttigt at reducere kompleksiteten af ​​koden.

Eksponent ved hjælp af brugerdefineret funktion

Vi kan skrive en brugerdefineret funktion til beregning af eksponenter. I eksempel3.c skriver vi en brugerdefineret funktion eksponent (), som tager to argumenter baseret og exp af typen float ant heltal.

// Eksempel3.c
#omfatte

flydeeksponent(flydegrundlag, int eksp )
{
flyderesultat=1.0;
flydejeg;
hvis( eksp < 0)
{
eksp = -1 * eksp ;
til(jeg=1;jeg<= eksp ;jeg++)
resultat=resultat*grundlag;

resultat= 1.0/resultat;
}
andet
{
til(jeg=1;jeg%f', eksponent (3,0));
printf ('
nexponent(3, -5) => %f', eksponent (3, -5));
printf ('
nexponent(-3, -5) => %f', eksponent (-3, -5));

returnere 0;
}

Eksempel 3. c vi har set output fra den brugerdefinerede funktion eksponent () . Denne funktion fungerer, når eksponenten er integreret. For ægte eksponent skal vi bruge NS () fungere.

Konklusion

I denne artikel har vi set brugen af NS () funktion og Bitforskydning operator hvordan eksponent kan beregnes på C -sprog. Vi har også lært at skrive vores egen funktion til beregning af eksponenter. Nu kan vi uden tvivl bruge disse teknikker i vores C -program.