std::pow, std::powf, std::powl |
您所在的位置:网站首页 › 16200开方 › std::pow, std::powf, std::powl |
C++
语言
标准库头文件
自立与有宿主实现
具名要求
语言支持库
概念库 (C++20)
诊断库
工具库
字符串库
容器库
迭代器库
范围库 (C++20)
算法库
数值库
本地化库
输入/输出库
文件系统库 (C++17)
正则表达式库 (C++11)
原子操作库 (C++11)
线程支持库 (C++11)
技术规范
数值库
常用数学函数
数学特殊函数 (C++17)
数学常数 (C++20)
浮点环境 (C++11)
复数
数值数组
伪随机数生成
编译时有理数算术 (C++11)
数值算法
gcd(C++17)
lcm(C++17)
插值
midpoint(C++20)
lerp(C++20)
通用数值运算
iota(C++11)
accumulate
inner_product
adjacent_difference
partial_sum
位操作
bit_cast(C++20)
has_single_bit(C++20)
bit_ceil(C++20)
bit_floor(C++20)
bit_width(C++20)
rotl(C++20)
rotr(C++20)
countl_zero(C++20)
countl_one(C++20)
countr_zero(C++20)
countr_one(C++20)
popcount(C++20)
endian(C++20)
常用数学函数
函数
基本运算
abs(int)labsllabsimaxabs(C++11)
abs(float)fabs
divldivlldivimaxdiv(C++11)
fmod
remainder(C++11)
remquo(C++11)
fma(C++11)
fmax(C++11)
fmin(C++11)
fdim(C++11)
nannanfnanl(C++11)(C++11)(C++11)
指数函数
exp
exp2(C++11)
expm1(C++11)
log
log10
log1p(C++11)
log2(C++11)
幂函数
sqrt
cbrt(C++11)
hypot(C++11)
pow
三角与双曲函数
sin
cos
tan
asin
acos
atan
atan2
sinh
cosh
tanh
asinh(C++11)
acosh(C++11)
atanh(C++11)
误差与伽马函数
erf(C++11)
erfc(C++11)
lgamma(C++11)
tgamma(C++11)
临近整数的浮点运算
ceil
floor
roundlroundllround(C++11)(C++11)(C++11)
trunc(C++11)
nearbyint(C++11)
rintlrintllrint(C++11)(C++11)(C++11)
浮点操作函数
ldexp
scalbnscalbln(C++11)(C++11)
ilogb(C++11)
logb(C++11)
frexp
modf
nextafternexttoward(C++11)(C++11)
copysign(C++11)
分类/比较
fpclassify(C++11)
isfinite(C++11)
isinf(C++11)
isnan(C++11)
isnormal(C++11)
signbit(C++11)
isgreater(C++11)
isgreaterequal(C++11)
isless(C++11)
islessequal(C++11)
islessgreater(C++11)
isunordered(C++11)
宏常量
HUGE_VALFHUGE_VALHUGE_VALL(C++11)(C++11)
INFINITY(C++11)
NAN(C++11)
math_errhandlingMATH_ERRNOMATH_ERREXCEPT(C++11)
FP_NORMALFP_SUBNORMALFP_ZEROFP_INFINITEFP_NAN(C++11)(C++11)(C++11)(C++11)(C++11)
定义于头文件
(1)
float pow ( float base, float exp );
float powf( float base, float exp );
(C++11 起)
double pow ( double base, double exp );
(2)
(3)
long double pow ( long double base, long double exp );
long double powl( long double base, long double exp );
(C++11 起)
float pow ( float base, int iexp );
(4)
(C++11 前)
double pow ( double base, int iexp );
(5)
(C++11 前)
long double pow ( long double base, int iexp );
(6)
(C++11 前)
Promoted pow ( Arithmetic1 base, Arithmetic2 exp );
(7)
(C++11 起)
1-6) 计算 base 的 exp 或 iexp 次幂。
7) 1-3) 所不覆盖的所有算术类型组合的重载集或函数模板。若任何参数拥有整数类型,则将它转型为 double 。若任何参数为 long double ,则返回类型 Promoted 亦为 long double ,否则返回类型始终为 double 。
参数
base
-
作为底数的浮点或整数类型值
exp
-
作为指数的浮点或整数类型值
iexp
-
整数值指数
返回值
若不出现错误,则返回 base 的 exp 次幂( baseexp )。 若出现定义域错误,则返回实现定义值(支持的平台上为 NaN )。 若出现极点错误或上溢所致的值域错误,则返回 ±HUGE_VAL 、 ±HUGE_VALF 或 ±HUGE_VALL 。 若出现下溢所致的值域错误,则返回(舍入后的)正确结果。 错误处理报告 math_errhandling 中指定的错误。 若 base 有限且为负,且 exp 有限且为非整数,则出现定义域错误,并可能出现值域错误。 若 base 为零且 exp 为零,则可能出现定义域错误。 若 base 为零且 exp 为负,则可能出现定义域错误或极点错误。 若实现支持 IEEE 浮点算术( IEC 60559 ),则 pow(+0, exp) ,其中 exp 为负奇数,返回 +∞ 并引发 FE_DIVBYZERO pow(-0, exp) ,其中 exp 为负奇数,返回 -∞ 并引发 FE_DIVBYZERO pow(±0, exp) ,其中 exp 为有限负数,且为偶数或非整数,则返回 +∞ 并引发 FE_DIVBYZERO pow(±0, -∞) 返回 +∞ 并可能引发 FE_DIVBYZERO pow(+0, exp) ,其中 exp 为正奇数,返回 +0 pow(-0, exp) ,其中 exp 为正奇数,返回 -0 pow(±0, exp) ,其中 exp 为正非整数或正偶数,返回 +0 pow(-1, ±∞) 返回 1 pow(+1, exp) 对于任何 exp 返回 1 ,即使 exp 为 NaN pow(base, ±0) 对于任何 base 返回 1 ,即使 base 为 NaN pow(base, exp) 返回 NaN 并引发 FE_INVALID ,若 base 为有限负数且 exp 为有限非整数。 pow(base, -∞) 对任何 |base|1 返回 +0 pow(base, +∞) 对任何 |base|1 返回 +∞ pow(-∞, exp) 返回 -0 ,若 exp 为负奇整数 pow(-∞, exp) 返回 +0 ,若 exp 为负非整数或负偶数 pow(-∞, exp) 返回 -∞ ,若 exp 为正奇整数 pow(-∞, exp) 返回 +∞ ,若 exp 为正非整数或正偶数 pow(+∞, exp) 对任何 exp 返回 +0 pow(+∞, exp) 对任何 exp 返回 +∞ 除了指定于上处,若任何参数为 NaN ,则返回 NaN 注意pow(float, int) 在 C++11 前返回 float (由重载 4 )但从 C++11 起返回 double (由重载 7 )。 尽管 std::pow 不能获得负数的开方根, exp 为 1/3 的常用情况还提供了 std::cbrt 。 示例 运行此代码 #include #include #include #include #include #pragma STDC FENV_ACCESS ON int main() { // 通常用法 std::cout |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |