pow, powf, powl
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at pow, powf, powl.
Calculates x
raised to the power of y
.
Syntax
double pow(
double x,
double y
);
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
float powf(
float x,
float y
);
long double powl(
long double x,
long double y
);
Parameters
x
Base.
y
Exponent.
Return Value
Returns the value of x
y. No error message is printed on overflow or underflow.
Values of x and y | Return value of pow |
---|---|
x < > 0 and y = 0.0 |
1 |
x = 0.0 and y = 0.0 |
1 |
x = 0.0 and y < 0 |
INF |
Remarks
pow
does not recognize integral floating-point values greater than 264 (for example, 1.0E100
).
pow
has an implementation that uses Streaming SIMD Extensions 2 (SSE2). For information and restrictions about using the SSE2 implementation, see _set_SSE2_enable.
Because C++ allows overloading, you can call any of the various overloads of pow
. In a C program, pow
always takes two double values and returns a double value.
The pow(int, int)
overload is no longer available. If you use this overload, the compiler may emit C2668. To avoid this problem, cast the first parameter to double
, float
, or long double
.
Requirements
Routine | Required header |
---|---|
pow , powf , powl |
<math.h> |
For additional compatibility information, see Compatibility.
Libraries
All versions of the C run-time libraries.
Example
// 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 );
}
Output
2.0 to the power of 3.0 is 8.0
.NET Framework Equivalent
See Also
Floating-Point Support
exp, expf
log, logf, log10, log10f
sqrt, sqrtf, sqrtl
_CIpow