Syntaxis
dubbele pow(dubbele baseren, dubbele exp);
De pow() 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 pow() functie retourneert de waarde van baseren verheven tot de macht van exp.
Als de waarde van exp is 0, de pow() functie retourneert 1.
Als baseren is negatief en exp is niet integraal, de pow() functie retourneert NaN (Niet-A-nummer).
Voorbeelden
//Voorbeeld 1.c#include
#include
int hoofd()
int resultaat;
resultaat = (int)pow(3,5);
printf("\npow(3,5) => %d", resultaat);
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));
retourneer 0;
In voorbeeld1.c, we hebben de uitvoer van de gezien pow() functie. Hier gebruiken we de -ik ben 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 Bit
Als we de exponent tot de macht 2 willen berekenen, dan kunnen we dat doen met bitverschuiving bit.
De verschuiving naar links met m is gelijk aan de eerste term en 2 aan de macht m.
nee << 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#include
int hoofd()
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);
retourneer 0;
In voorbeeld2.c, we hebben gezien hoe de bitverschuivingsoperator kan worden gebruikt voor de exponent tot de macht 2. Het is erg handig om de complexiteit van de code te verminderen.
Exponent met behulp van door de gebruiker gedefinieerde functie
We kunnen een door de gebruiker gedefinieerde functie schrijven om exponenten te berekenen. In voorbeeld3.c, we zullen een door de gebruiker gedefinieerde functie schrijven exponent (), waarvoor twee argumenten zijn gebaseerd en exp van het type float ant integer.
//Voorbeeld3.c#include
float exponent (float base, int exp)
float resultaat = 1.0;
zweven ik;
als (exp < 0)
exp = -1 * exp;
voor(i=1;i<=exp;i++)
resultaat = resultaat * basis;
resultaat = 1.0/resultaat;
anders
for(i=1;i %f",exponent(3,0));
printf("\nexponent(3,-5) => %f",exponent(3,-5));
printf("\nexponent(-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 een echte exponent moeten we de gebruiken pow() functie.
Conclusie
In dit artikel hebben we gezien met behulp van de pow() 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.