std::pow, std::powf, std::powl

您所在的位置:网站首页 16200开方 std::pow, std::powf, std::powl

std::pow, std::powf, std::powl

2024-05-21 01:35| 来源: 网络整理| 查看: 265

  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