pow - raises a number to a power
pow, powf, powl - power functions
#include <math.h>
double pow(double x, double y);
#include <math.h>
double pow(double x, double y);
float powf(float x, float y);
long double powl(long double x, long double y);
Link with -lm
.
Feature Test Macro Requirements for glibc (see feature_test_macros(7)):
This function raises x
to the power of y
.
These functions return the value of x
raised to the power of y
.
This function returns, as a double
, x
raised to the power of y
.
On success, these functions return the value of x
to the power of y
.
If x
is a finite value less than 0, and y
is a finite noninteger, a domain error occurs, and a NaN is returned.
If the result overflows, a range error occurs, and the functions return HUGE_VAL, HUGE_VALF, or HUGE_VALL, respectively, with the mathematically correct sign.
If result underflows, and is not representable, a range error occurs, and 0.0 is returned.
Except as specified below, if x
or y
is a NaN, the result is a NaN.
If x
is +1, the result is 1.0 (even if y
is a NaN).
If y
is 0, the result is 1.0 (even if x
is a NaN).
If x
is +0 (-0), and y
is an odd integer greater than 0, the result is +0 (-0).
If x
is 0, and y
greater than 0 and not an odd integer, the result is +0.
If x
is -1, and y
is positive infinity or negative infinity, the result is 1.0.
If the absolute value of x
is less than 1, and y
is negative infinity, the result is positive infinity.
If the absolute value of x
is greater than 1, and y
is negative infinity, the result is +0.
If the absolute value of x
is less than 1, and y
is positive infinity, the result is +0.
If the absolute value of x
is greater than 1, and y
is positive infinity, the result is positive infinity.
If x
is negative infinity, and y
is an odd integer less than 0, the result is -0.
If x
is negative infinity, and y
less than 0 and not an odd integer, the result is +0.
If x
is negative infinity, and y
is an odd integer greater than 0, the result is negative infinity.
If x
is negative infinity, and y
greater than 0 and not an odd integer, the result is positive infinity.
If x
is positive infinity, and y
less than 0, the result is +0.
If x
is positive infinity, and y
greater than 0, the result is positive infinity.
If x
is +0 or -0, and y
is an odd integer less than 0, a pole error occurs and HUGE_VAL, HUGE_VALF, or HUGE_VALL, is returned, with the same sign as x
.
If x
is +0 or -0, and y
is less than 0 and not an odd integer, a pole error occurs and +HUGE_VAL, +HUGE_VALF, or +HUGE_VALL, is returned.
#include <math.h>
#include <stdio.h>
int main(void)
{
printf("A 32-bit integer can store %li possible values.\n", (long) pow(2, 32));
}