加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

用C语言求幂函数和指数函数的方法

发布时间:2020-12-16 03:04:07 所属栏目:百科 来源:网络整理
导读:C语言pow()函数:求x的y次方(次幂) 头文件: #include math.h pow() 函数用来求 x 的 y 次幂(次方),其原型为: double pow(double x,double y); pow()用来计算以x 为底的 y 次方值,然后将结果返回。设返回值为 ret,则 ret = xy。 可能导致错误的情况

C语言pow()函数:求x的y次方(次幂)
头文件:

#include <math.h>

pow() 函数用来求 x 的 y 次幂(次方),其原型为:

  double pow(double x,double y);

pow()用来计算以x 为底的 y 次方值,然后将结果返回。设返回值为 ret,则 ret = xy。

可能导致错误的情况:

  • 如果底数 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。

注意,使用 GCC 编译时请加入-lm。

【实例】请看下面的代码。

#include <stdio.h>
#include <math.h>
int main ()
{
  printf ("7 ^ 3 = %fn",pow (7.0,3.0) );
  printf ("4.73 ^ 12 = %fn",pow (4.73,12.0) );
  printf ("32.01 ^ 1.54 = %fn",pow (32.01,1.54) );
  return 0;
}

输出结果:

7 ^ 3 = 343.000000
4.73 ^ 12 = 125410439.217423
32.01 ^ 1.54 = 208.036691

C语言sqrt()函数:求给定值的平方根
头文件:

#include <math.h>

sqrt() 用来求给定值的平方根,其原型为:

  double sqrt(double x);

【参数】x 为要计算平方根的值。

如果 x < 0,将会导致 domain error 错误,并把全局变量 errno 的值为设置为 EDOM。

【返回值】返回 x 平方根。

注意,使用 GCC 编译时请加入-lm。

【实例计算200 的平方根值。】

#include <math.h>
main(){
  double root;
  root = sqrt(200);
  printf("answer is %fn",root);
}

输出结果:

answer is 14.142136

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读