pow
, powf
, powl
Berechnet x
potenziert mit y
.
Syntax
double pow( double x, double y );
float powf( float x, float y );
long double powl( long double x, long double y );
define pow(X, Y) // Requires C11 or higher
double pow( double x, int y ); // C++ only
float pow( float x, float y ); // C++ only
float pow( float x, int y ); // C++ only
long double pow( long double x, long double y ); // C++ only
long double pow( long double x, int y ); // C++ only
Parameter
x
Basis.
y
Exponent.
Rückgabewert
Gibt den Wert von x
y
zurück. Zu Überlauf oder Unterlauf wird keine Fehlermeldung ausgegeben.
Werte von x und y |
Rückgabewert von pow |
---|---|
x != 0,0 und y == 0,0 |
1 |
x == 0,0 und y == 0,0 |
1 |
x == 0,0 und y < 0 |
INF |
Hinweise
pow
erkennt keine integralen Gleitkommawerte, die größer als 264 sind (z. B. 1,0E100).
pow
ist eine Implementierung, die SIMD-Streamingerweiterungen 2 (SSE2) verwendet. Informationen und Einschränkungen zur Verwendung der SSE2-Implementierung finden Sie unter _set_SSE2_enable
.
Da C++ Überladungen zulässt, können Sie jede der verschiedenen Überladungen von pow
aufrufen. In einem C-Programm akzeptiert das Makro immer zwei double
Werte und gibt einen double
Wert zurück, es sei denn, pow
Sie verwenden das <tgmath.h>
Makro, um diese Funktion aufzurufen.
Wenn Sie das pow
Makro <tgmath.h>
verwenden, bestimmt der Typ des Arguments, welche Version der Funktion ausgewählt ist. Ausführliche Informationen finden Sie unter "Typgenerika" .
Die pow(int, int)
-Überladung ist nicht mehr verfügbar. Wenn Sie diese Überladung verwenden, kann der Compiler C2668 ausgeben. Um dieses Problem zu vermeiden, wandeln Sie den ersten Parameter in double
, float
oder long double
um.
Ursprünglich haben die Überladungen die pow(T, int)
Registrierung des pow
Aufrufs in einer Folge von Inline-Multiplikationsvorgängen aufgehoben. Während es schneller war, war es auch viel weniger genau. Diese Implementierung wurde in Visual Studio 2015 Update 1 entfernt. Weitere Informationen finden Sie unter "Konformitätsverbesserungen" in Visual Studio 2015 Update 1.
Standardmäßig gilt der globale Zustand dieser Funktion für die Anwendung. Informationen zum Ändern dieses Verhaltens finden Sie im Global state in the CRT.
Anforderungen
Routine | Erforderlicher Header (C) | Erforderlicher Header (C++) |
---|---|---|
pow , powf , powl |
<math.h> |
<math.h> oder <cmath> |
pow -Makro |
<tgmath.h> |
Weitere Informationen zur Kompatibilität finden Sie unter Kompatibilität.
Beispiel
// crt_pow.c
#include <math.h>
#include <stdio.h>
int main( void )
{
double x = 2.0, y = 3.0, z;
z = pow( x, y );
printf( "%.1f to the power of %.1f is %.1f\n", x, y, z );
}
2.0 to the power of 3.0 is 8.0
Siehe auch
Mathematische und Gleitkommaunterstützung
exp
, expf
, expl
log
, logf
, log10
, log10f
sqrt
, sqrtf
, sqrtl
_CIpow
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für