Hur skriver du en exponent i C?

How Do You Write An Exponent C



I C -språket kan exponentvärdet beräknas med NS () fungera. Denna artikel kommer att lära dig hur du använder NS () funktion för att utföra exponentieringsoperationen. Vi kommer också att lära oss 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 NS ( dubbel bas, dubbel exp);







De NS () funktion definieras i matte. h rubrikfil.



Argument

Denna funktion tar två argument, bas och exp, att beräkna värdet på bas höjd till makten av exp . Här bas och exp båda är dubbla.



Returvärden

På framgång, NS () funktion returnerar värdet på bas höjd till makten av exp .





Om värdet av exp är 0, den NS () funktionen returnerar 1.

Om bas är negativ och exp är inte integrerad, NS () funktionen returnerar NaN (Not-A-Number).



Exempel

//Exempel1.c
#omfatta
#omfatta

inthuvud()
{

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));

lämna tillbaka 0;
}

I Exempel1.c har vi sett utmatningen av NS () fungera. Här använder vi -lm kommandoradsparameter för att länka i mattebiblioteket. Från rad 10 till 13 har vi utgången som förväntat. För rad 14 och 15 har vi -nan (Inte ett tal) eftersom det andra argumentet inte är integrerat.

Exponent med Bit Shifting

Om vi ​​vill beräkna exponenten till effekten 2 kan vi göra det med bitskiftning.

Vänster skift med m motsvarar den första termen och 2 till effekten m.

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

Det högra skiftet med m motsvarar uppdelningen av den första termen och 2 till effekten m.

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

Det är bara arbete när m är positivt.

//Exempel2.c
#omfatta

inthuvud()
{
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);

returnera 0;
}

I Exempel2.c har vi sett hur bitskiftoperatören kan användas för exponenten till effekten 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 exempel3.c skriver vi en användardefinierad funktion exponent (), som tar två argument baserade och exp av typen float ant heltal.

//Exempel3.c
#omfatta

flytaexponent(flytabas, int exp )
{
flytaresultat=1.0;
flytai;
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;
}

Exempel3.c vi har sett utmatningen från den användardefinierade funktionen exponent () . Denna funktion fungerar när exponenten är integrerad. För verklig exponent måste vi använda NS () fungera.

Slutsats

I den här artikeln har vi sett att använda NS () funktion och Lite skiftande operatör hur exponent kan beräknas på C -språk. Vi har också lärt oss hur man skriver vår egen funktion för att beräkna exponenter. Nu kan vi utan tvekan använda dessa tekniker i vårt C -program.