在头文件中定义float powf(float base,float exponent);(1)(自C99以来)

double pow(双基地,双指数);(2)

长双倍powl(长双倍基数,长双倍指数);(3)(自C99以来)

在头文件中定义

#define pow(基数,指数)(4)(自C99以来)

1-3)计算base提高到功率的值exponent。

4)类型 - 通用宏:如果任何参数具有类型long double,powl则被调用。否则,如果任何参数具有整数类型或具有类型double,pow则被调用。否则,powf被调用。如果至少一个参数是复杂的或虚,则宏调用相应的复变函数(cpowf,cpow,cpowl)。

参数

基础-基础为浮点值指数-指数为浮点值

返回值

如果没有错误发生,base提高到exponent(基础组件的力量

)返回。

如果发生域错误,则返回实现定义的值(NaN,如果支持)。

如果极错误或一系列错误,由于发生溢出,±HUGE_VAL,±HUGE_VALF,或±HUGE_VALL返回。

如果由于下溢而发生范围错误,则返回正确的结果(舍入后)。

错误处理

按照 math_errhandling 中的指定报告错误。

如果base是有限且负数且exponent是有限且非整数的,则会发生域错误并可能发生范围错误。

如果base为零且exponent为零,则可能会发生域错误。

如果base为零且exponent为负值,则可能会出现域错误或极点错误。

如果实现支持 IEEE 浮点运算(IEC 60559),

pow(+0, exponent),其中exponent是一个负的奇数整数,返回+∞并提升FE_DIVBYZERO

pow(-0, exponent),其中exponent是一个负的奇数整数,返回-∞并提升FE_DIVBYZERO

pow(±0, exponent),其中exponent是负数,有限数,是偶数或非整数,返回+∞并上升FE_DIVBYZERO

pow(±0, -∞) 返回+∞并可能升高 FE_DIVBYZERO

pow(+0, exponent),其中exponent是一个正的奇数整数,返回+0

pow(-0, exponent),其中exponent是一个正的奇数整数,返回-0

pow(±0, exponent),其中exponent是正整数或正整数,返回+0

pow(-1, ±∞) 回报 1

pow(+1, exponent)1任何回报exponent,即使exponent是NaN

pow(base, ±0)1任何回报base,即使base是NaN

pow(base, exponent)如果是有限的和负的,并且是有限的和非整数的,则返回NaN并且升高。FE_INVALIDbaseexponent

pow(base, -∞) 返回+∞的任何 |base|<1

pow(base, -∞) 任何返回+0 |base|>1

pow(base, +∞) 任何返回+0 |base|<1

pow(base, +∞) 返回+∞的任何 |base|>1

pow(-∞, exponent)如果exponent是负的奇数则返回-0

pow(-∞, exponent)如果exponent是非负整数或偶数则返回+0

pow(-∞, exponent)返回-∞如果exponent是正的奇数整数

pow(-∞, exponent)返回+∞如果exponent是一个正的非整数或甚至整数

pow(+∞, exponent) 对任何否定返回+0 exponent

pow(+∞, exponent) 对任何积极的结果返回+∞ exponent

除了上面指定的地方,如果任何参数是NaN,则返回NaN

注意

虽然pow不能用于获得负数的根,cbrt但是为exponent1/3 的常见情况提供。

示例

#include #include #include #include

#pragma STDC FENV_ACCESS ON

int main(void){    // typical usage    printf("pow(2, 10) = %f\n", pow(2,10));    printf("pow(2, 0.5) = %f\n", pow(2,0.5));    printf("pow(-2, -3) = %f\n", pow(-2,-3));    // special values    printf("pow(-1, NAN) = %f\n", pow(-1,NAN));    printf("pow(+1, NAN) = %f\n", pow(+1,NAN));    printf("pow(INFINITY, 2) = %f\n", pow(INFINITY, 2));    printf("pow(INFINITY, -1) = %f\n", pow(INFINITY, -1));    // error handling

errno = 0; feclearexcept(FE_ALL_EXCEPT);    printf("pow(-1, 1/3) = %f\n", pow(-1, 1.0/3));    if(errno == EDOM)         perror("    errno == EDOM");    if(fetestexcept(FE_INVALID)) puts("    FE_INVALID raised");

feclearexcept(FE_ALL_EXCEPT);    printf("pow(-0, -3) = %f\n", pow(-0.0, -3));    if(fetestexcept(FE_DIVBYZERO)) puts("    FE_DIVBYZERO raised");}

可能的输出:

pow(2, 10) = 1024.000000pow(2, 0.5) = 1.414214pow(-2, -3) = -0.125000pow(-1, NAN) = nanpow(+1, NAN) = 1.000000pow(INFINITY, 2) = infpow(INFINITY, -1) = 0.000000pow(-1, 1/3) = -nan

errno == EDOM: Numerical argument out of domain

FE_INVALID raisedpow(-0, -3) = -inf

FE_DIVBYZERO raised

参考

C11标准(ISO / IEC 9899:2011):7.12.7.4幂函数(p:248-249)

7.25类型通用数学(p:373-375)

F.10.4.4幂函数(p:524-525)

C99标准(ISO / IEC 9899:1999):7.12.7.4 pow 函数(p:229)

7.22类型通用数学(p:335-337)

F.9.4.4幂函数(p:461)

C89 / C90标准(ISO / IEC 9899:1990):4.5.5.1 pow 函数

也可以看看

sqrtsqrtfsqrtl(C99)(C99)计算平方根(√x)(函数)cbrtcbrtfcbrtl(C99)(C99)(C99)计算立方根(3√x)(函数)

hypothypotfypotl(C99)(C99)(C99)计算两个给定数的平方和的平方根(√x2+ y2)(函数)

cpowcpowfcpowl(C99)(C99)(C99)计算复数幂函数(函数)

| C++ documentation for pow |

c语言 power 头文件,pow - [ C语言中文开发手册 ] - 在线原生手册 - php中文网相关推荐

  1. c语言程序头文件作用,C语言头文件

    C语言头文件教程 C 语言的头文件一般都是 .h 做为结尾的. C语言头文件详解 语法 #include 参数 参数 描述 filename 我们需要引入的头文件的名称. 说明 C 语言的头文件一般都 ...

  2. c语言L文件,frexpl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义float frexpf(float arg,int * exp);(1)(自C99以来) double frexp(double arg,int * exp);(2) long dou ...

  3. cbrt c语音_isgraph - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义int isgraph(int ch); 检查给定字符是否具有图形表示形式,即它是数字(0123456789),大写字母(ABCDEFGHIJKLMNOPQRSTUVWXYZ),小写字母 ...

  4. cbrt c语音_sqrt - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义float sqrtf(float arg);(1)(自C99以来) double sqrt(double arg);(2) long double sqrtl(long double ...

  5. c 语言memmove,memmove - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义void * memmove(void * dest,const void * src,size_t count);(1) errno_t memmove_s(void * dest,r ...

  6. php中的lc_time,LC_TIME - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义#define LC_ALL / *实现定义* / #define LC_COLLATE / *实现定义* / #define LC_CTYPE / *实现定义* / #define L ...

  7. c语言 strncat,strncat - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义(1) char * strncat(char * dest,const char * src,size_t count);(直到C99) char * strncat(char * r ...

  8. c语言fsetpos是什么,fsetpos - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义int fsetpos(FILE * stream,const fpos_t * pos); stream根据指向的值设置文件流的文件位置指示符和多字节解析状态(如果有)pos. 除了建 ...

  9. c语言中mw shl code,cacoshl - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义float complex       cacoshf( float complex z );(1)(since C99) double complex      cacosh( dou ...

  10. c语言isfinite_csqrtf - [ C语言中文开发手册 ] - 在线原生手册 - php中文网

    在头文件中定义float complex csqrtf(float complex z);(1)(自C99以来) double complex   csqrt( double complex z ); ...

最新文章

  1. Gartner:2012年大数据HypeCycle
  2. 基于Spring Boot + Dubbo的全链路日志追踪(一)
  3. project 模板_18个施工进度计划横道图模板,自动出图超方便,全部在这儿给你准好了...
  4. Windows安装MySQL教程
  5. cocos2d-x ios游戏开发初认识(六) 渲染的优化
  6. WLAN产品形态之分层架构
  7. 使用国内DOCKER镜像源
  8. Java自带工具包StringUtils包含方法
  9. python 列表定义 初始化为0_Python为列表添加一个foreach方法
  10. 安卓开发中Theme.AppCompat.Light的解决方法
  11. iOS 疑难杂症 — — 推送本地国际化 loc-key 本地化失败的问题
  12. 记小米公司的一次「测试开发工程师」面试
  13. 计算机硬件关系密切,与计算机硬件关系最密切的软件是( ).
  14. php实例三之网站浏览量统计
  15. 这些好玩的例子,希望你也能喜欢
  16. Linux 错误信息的查看(摘自鸟哥的私房菜一书)
  17. 输入账号 密码 实现登录功能
  18. 曲速未来 发布:新基建下,区块链将急速发展
  19. 被骗进一个很隐蔽的外包公司,入职一个月才发现,已经有了社保记录,简历污了,以后面试有影响吗?...
  20. matlab求两点间距离,matlab如何求一个N*2的矩阵的任意两点间的距离?

热门文章

  1. Unity3D中unitypackage文件的图标显示及打开方式异常问题的解决方法(值得收藏)
  2. 多伦多大学计算机专音乐专业,多伦多大学音乐理论专业介绍
  3. Ubuntu下载与安装
  4. 阿里百川 WKWebView 无法拦截URL
  5. linux下多点电容触摸屏实验
  6. php 苹果内购支付
  7. Linux下的mplayer播放器移植与使用
  8. 解决前端做excel下载的文件打不开
  9. 【FPGA 学习笔记】sof文件和jic文件的区别,程序固化(将sof文件装换位jic文件)
  10. 初学者如何快速练习盲打