Syntax
doppelt pow(doppelt Base, doppelt exp);
Das pow() Funktion ist definiert in Mathematik.ha Header-Datei.
Argumente
Diese Funktion benötigt zwei Argumente, Base und exp, den Wert von . berechnen Base zur Macht erhoben exp. Hier Base und exp beide sind doppelt.
Rückgabewerte
Bei Erfolg, die pow() Funktion gibt den Wert von zurück Base zur Macht erhoben exp.
Wenn der Wert von exp ist 0, die pow() Funktion gibt 1 zurück.
Wenn Base ist negativ und exp ist nicht ganzzahlig, die pow() Funktion kehrt zurück NaN (Nicht-A-Nummer).
Beispiele
//Beispiel 1.c#einschließen
#einschließen
int main()
int-Ergebnis;
Ergebnis = (int)pow(3,5);
printf("\npow(3,5) => %d",Ergebnis);
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));
0 zurückgeben;
In Beispiel1.c, wir haben die Ausgabe von gesehen pow() Funktion. Hier verwenden wir die -lm Befehlszeilenparameter zum Verknüpfen in der Mathematikbibliothek. Von den Zeilen 10 bis 13 haben wir die Ausgabe wie erwartet. Für die Linien 14 und 15 haben wir -nan(Keine Zahl), weil das zweite Argument nicht ganzzahlig ist.
Exponent mit Bitverschiebung
Wenn wir den Exponenten hoch 2 berechnen wollen, dann können wir dies mit Bitverschiebung tun.
Die Linksverschiebung um m entspricht dem ersten Term und 2 hoch m.
nein << m = n*pow(2,m)
Die Rechtsverschiebung um m entspricht der Division des ersten Termes und 2 hoch m.
n>>m = n/pow(2,m)
Es ist nur Arbeit, wenn m positiv ist.
//Beispiel2.c#einschließen
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);
0 zurückgeben;
In Beispiel2.c haben wir gesehen, wie der Bitverschiebungsoperator für den Exponenten hoch 2 . verwendet werden kann. Es ist sehr nützlich, die Komplexität des Codes zu reduzieren.
Exponent mit benutzerdefinierter Funktion
Wir können eine benutzerdefinierte Funktion schreiben, um Exponenten zu berechnen. In Beispiel3.c, wir schreiben eine benutzerdefinierte Funktion write Exponent (), das nimmt zwei Argumente based und exp vom Typ float ant integer.
//Beispiel3.c#einschließen
float exponent (float base, int exp)
Float-Ergebnis =1.0;
schweben ich;
if(exp < 0)
exp = -1 * exp;
for(i=1;i<=exp;i++)
Ergebnis = Ergebnis * Basis;
Ergebnis = 1.0/Ergebnis;
sonst
for(i=1;i %f",Exponent(3,0));
printf("\nexponent(3,-5) => %f",exponent(3,-5));
printf("\nexponent(-3,-5) => %f",exponent(-3,-5));
0 zurückgeben;
Beispiel3.c wir haben die Ausgabe der benutzerdefinierten Funktion gesehen Exponent (). Diese Funktion wird bearbeitet, wenn der Exponent ganzzahlig ist. Für den reellen Exponenten müssen wir den pow() Funktion.
Fazit
In diesem Artikel haben wir gesehen, wie die pow() Funktion und Bitverschiebung Operator, wie der Exponent in der Sprache C berechnet werden kann. Wir haben auch gelernt, wie wir unsere eigene Funktion schreiben, um Exponenten zu berechnen. Jetzt können wir diese Techniken ohne Zweifel in unserem C-Programm anwenden program.