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 Typgengenerische Mathematik.
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. Wie Sie dieses Verhalten ändern, erfahren Sie unter Globaler Status in der 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 Unterstützung und Gleitkommaunterstützung
exp
, expf
expl
log
, , logf
log10
log10f
sqrt
, sqrtf
sqrtl
_CIpow