Hoe schrijf je een exponent in C?

How Do You Write An Exponent C



In de C-taal kan de exponentwaarde worden berekend met behulp van de NS() functie. Dit artikel leert hoe u de NS() functie om de machtsverheffing uit te voeren. We zullen ook leren hoe u de bitverschuivende operator om de machtsverheffing uit te voeren. We zullen proberen een door de gebruiker gedefinieerde functie te schrijven om exponenten te berekenen. Dus laten we beginnen.

Syntaxis

dubbele NS ( dubbele baseren, dubbele exp);







De NS() functie is gedefinieerd in wiskunde.h header-bestand.



Argumenten

Deze functie heeft twee argumenten, baseren en exp, om de waarde van te berekenen baseren verheven tot de macht van exp . Hier baseren en exp beide zijn dubbel.



Retourwaarden

Bij succes, de NS() functie retourneert de waarde van baseren verheven tot de macht van exp .





Als de waarde van exp is 0, de NS() functie retourneert 1.

Indien baseren is negatief en exp is niet integraal, de NS() functie retourneert NaN (Niet-A-nummer).



Voorbeelden

//Voorbeeld1.c
#erbij betrekken
#erbij betrekken

inthoofd()
{

intresultaat;
resultaat= (int) NS (3,5);
printf ('Npow(3,5) => %d',resultaat);
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) => %lfN', NS (-3, -5.1));

opbrengst 0;
}

In Voorbeeld1.c hebben we de uitvoer gezien van de NS() functie. Hier gebruiken we de -lm opdrachtregelparameter om te linken in de wiskundebibliotheek. Van regel 10 tot 13 hebben we de output zoals verwacht. Voor lijn 14 en 15 hebben we: -nan (Geen getal) omdat het tweede argument geen integraal is.

Exponent met bitverschuiving

Als we de exponent tot de macht 2 willen berekenen, dan kunnen we dat doen met bitverschuiving.

De verschuiving naar links met m is gelijk aan de eerste term en 2 aan de macht m.

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

De verschuiving naar rechts met m is gelijk aan de deling van de eerste term en 2 aan de macht m.

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

Het is alleen werk als m positief is.

//Voorbeeld2.c
#erbij betrekken

inthoofd()
{
printf ('N1<%d',1<<3);
printf ('N5<%d',5<<3);
printf ('N-5<%d', -53 => %NS', 40 >> 3);
printf('
N40>>3 => %NS', 40 >> 3);
printf('
N-40>>3 => %d ', -40 >> 3);

retourneer 0;
}

In Voorbeeld2.c hebben we gezien hoe de bitshift-operator kan worden gebruikt voor de exponent tot de macht 2. Het is erg handig om de complexiteit van de code te verminderen.

Exponent met door de gebruiker gedefinieerde functie

We kunnen een door de gebruiker gedefinieerde functie schrijven om exponenten te berekenen. In Voorbeeld3.c zullen we een door de gebruiker gedefinieerde functie schrijven exponent (), waarvoor twee argumenten gebaseerd en exp van het type float ant integer nodig zijn.

//Voorbeeld3.c
#erbij betrekken

vlotexponent(vlotbaseren, int exp )
{
vlotresultaat=1.0;
vlotl;
indien( exp < 0)
{
exp = -1 * exp ;
voor(l=1;l<= exp ;l++)
resultaat=resultaat*baseren;

resultaat= 1.0/resultaat;
}
anders
{
voor(l=1;l%F',exponent(3,0));
printf('
exponent(3, -5) => %F',exponent(3,-5));
printf('
exponent(-3, -5) => %F',exponent(-3,-5));

retourneer 0;
}

Voorbeeld3.c we hebben de uitvoer van de door de gebruiker gedefinieerde functie gezien exponent () . Deze functie werkt als de exponent integraal is. Voor echte exponent moeten we de gebruiken NS() functie.

Conclusie

In dit artikel hebben we gezien met behulp van de NS() functie en Beetje verschuiven operator hoe exponent kan worden berekend in C-taal. We hebben ook geleerd hoe we onze eigen functie kunnen schrijven om exponenten te berekenen. Nu kunnen we deze technieken zonder enige twijfel gebruiken in ons C-programma.