Freigeben über


pow, powfpowl

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 xy 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, powfpowl <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, expfexpl
log, , logflog10log10f
sqrt, sqrtfsqrtl
_CIpow