C90 | double pow (double base, double exponent); |
C99 | double pow (double base , double exponent);
float powf (float base , float exponent); long double powl (long double base, long double exponent); |
C++98 | double pow (double base , double exponent);
float pow (float base , float exponent); long double pow (long double base, long double exponent); double pow (double base , int exponent); long double pow (long double base, int exponent); |
C++11 | double pow (double base , double exponent);
float pow (float base , float exponent); long double pow (long double base, long double exponent); double pow (Type1 base , Type2 exponent); // additional overloads |
C99 | 头文件<tgmath.h> 提供了该函数的类型泛型宏版本。 |
C++98 | 这个函数在<complex>和<valarray> 中重载(参见complex pow和valarray pow)。 |
C++11 | 这个头文件(<cmath>) 为整型提供了额外的重载:这些重载在计算之前将x转换为double
(在T是任何整型时定义)。
这个函数在<complex>和<valarray> 中也重载(参见complex pow和valarray pow)。 |
C90(C++98) | 如果发生域错误,则将全局变量errno设置为EDOM。
如果发生极点或范围错误,全局变量errno设置为ERANGE。 |
C99(C++11) | 如果出现域错误:
-并且math_errhandling设置了MATH_ERRNO: 全局变量errno设置为 EDOM。 -并且math_errhandling设置了MATH_ERREXCEPT: 触发 FE_INVALID。 如果出现极点错误: -并且math_errhandling设置了MATH_ERRNO: 全局变量errno设置为 ERANGE。 -并且math_errhandling设置了MATH_ERREXCEPT: 触发 FE_DIVBYZERO。 如果出现范围溢出错误: -并且math_errhandling设置了MATH_ERRNO: 全局变量errno设置为 ERANGE.。 -并且math_errhandling设置了MATH_ERREXCEPT: 触发 FE_OVERFLOW或FE_UNDERFLOW。 |
/* pow example */ #include <stdio.h> /* printf */ #include <math.h> /* pow */ int main () { printf ("7 ^ 3 = %f\n", pow (7.0, 3.0) ); printf ("4.73 ^ 12 = %f\n", pow (4.73, 12.0) ); printf ("32.01 ^ 1.54 = %f\n", pow (32.01, 1.54) ); return 0; } |
log | 自然对数(function ) |
exp | 计算指数(function ) |
sqrt | 计算平方根(function ) |