Click to Rate and Give Feedback
MSDN
MSDN Library
Visual Studio 2008
Visual Studio
Visual C++
Run-Time Library
 pow, powf

  Switch on low bandwidth view
This page is specific to
Microsoft Visual Studio 2008/.NET Framework 3.5

Other versions are also available for the following:
Run-Time Library Reference
pow, powf

Calculates x raised to the power of y.

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 
);
x

Base.

y

Exponent.

Returns the value of xy. 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

The pow function computes x raised to the power of y.

pow does not recognize integral floating-point values greater than 264, such as 1.0E100.

pow has an implementation that uses Streaming SIMD Extensions 2 (SSE2). See _set_SSE2_enable for information and restrictions on using the SSE2 implementation.

C++ allows overloading, so 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.

Visual C++ 2005 introduces a breaking change to better conform with the ISO standard. The pow(int, int) overload is no longer available. If you are using this overload, the compiler may emit C2668. To avoid this problem, cast the first parameter to double, float, or long double.

Routine

Required header

pow, powf

<math.h>

For additional compatibility information, see Compatibility in the Introduction.

Libraries

All versions of the C run-time libraries.

// 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
Tags What's this?: Add a tag
Community Content   What is Community Content?
Add new content RSS  Annotations
Great!      Aaron Ballman   |   Edit   |   Show History
I am glad to see that the documentation points out the behavior when the base is negative and the exponent is fractional. While the behavior doesn't match my expectation (you should be able to take the cube root of -8, for instance), at least the behavior is clearly documented.
Tags What's this?: Add a tag
Flag as ContentBug
Processing
© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Page view tracker