重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
C语言中计算指数函数使用pow,不是power,两个参数都是double类型的,第一个是底数,第二个是指数。例如pow(3,0.5)表示3的0.5次方,就是3开平方。
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比宁城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式宁城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖宁城地区。费用合理售后完善,10余年实体公司更值得信赖。
pow的返回值为double类型。
pow是C语言库函数中的数学函数之一,其声明为
double pow(double n, double r);
声明与math.h。
其功能为求n的r次幂,并作为返回值返回。
在c语言中,pow函数实现了数学上幂运算的功能。举个例子,比如求2^8的值,就可以调用pow(2,8)获得。
朋友,pow函数的原型是double pow(double x,double y),返回值是double型的x的y次方的值。对于形参x、y,传入比double型“短”的实参是正常的且不告警。这是因为,C/C++有约定,当一个“短”型值赋给一个“长”型值时,自动将“短”型值提升为“长”型值。所以你这里用两个int型的变量a、b充当pow的实参是完全合理合法的。但是,把pow(a,b)的返回值赋给int型变量c就不完全合法了,因为这是把“长”型值赋给一个“短”型值,会有精度损失,所以系统要提醒你是否出错了,就要警告。解决办法当然是把c声明为double型;但如果逻辑上只需要返回值的整数部分的话也可以c=(int)pow(a,b);。这样系统就知道你是有意取整,而不是疏忽,就不会告警了。仅供参考……
pow()函数用来求x的y次幂,x、y及函数值都是double型 ,其原型为:double pow(double x, double y)。
实例代码如下:
#includestdio.h
#includemath.h
void main()
{
double x = 2, y = 10;
printf("%f\n",pow(x, y));
return 0;
}
扩展资料:
在调用pow函数时,可能导致错误的情况:
如果底数 x 为负数并且指数 y 不是整数,将会导致 domain error错误。
如果底数 x 和指数 y 都是 0,可能会导致 domain error?错误,也可能没有;这跟库的实现有关。
如果底数 x 是 0,指数 y 是负数,可能会导致?domain error 或pole error 错误,也可能没有;这跟库的实现有关。
如果返回值 ret 太大或者太小,将会导致range error 错误。
错误代码:
如果发生 domain error 错误,那么全局变量 errno 将被设置为 EDOM;
如果发生 pole error 或 range error 错误,那么全局变量 errno 将被设置为 ERANGE。
参考资料:
pow函数——百度百科