C语言pow()函数:求x的y次方(次幂)
2016-09-02 09:06
344 查看
头文件:#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 = %f\n", pow (7.0, 3.0) );
printf ("4.73 ^ 12 = %f\n", pow (4.73, 12.0) );
printf ("32.01 ^ 1.54 = %f\n", pow (32.01, 1.54) );
return 0;
}
输出结果:
7 ^ 3 = 343.000000
4.73 ^ 12 = 125410439.217423
32.01 ^ 1.54 = 208.036691
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 = %f\n", pow (7.0, 3.0) );
printf ("4.73 ^ 12 = %f\n", pow (4.73, 12.0) );
printf ("32.01 ^ 1.54 = %f\n", pow (32.01, 1.54) );
return 0;
}
输出结果:
7 ^ 3 = 343.000000
4.73 ^ 12 = 125410439.217423
32.01 ^ 1.54 = 208.036691
相关文章推荐
- C语言pow()函数:求x的y次方(次幂)
- C语言10的n次方pow函数不好用,自己写一个简单的
- java中的开方Math.sqrt(n)函数和平方{a的b次方Math.pow(a, b)}
- Day6.17 C语言简单函数递归调用之求x的y次方
- 【面试题】剑指offer11--求一个数的指数次方,模拟实现一个pow函数
- eclipse编辑器中,如何配置编译命令-lm,使math.h 和pow(a,b)函数生效——C语言学习笔记4
- 剑指Offer 面试题11:数的整数次方(Leetcode50. Pow(x, n))【C库函数pow模拟】题解
- C语言中用pow(a,b)表示次方,而不是a^b.....
- C语言中关于pow()函数的问题
- 初识形参实参,C语言模拟pow()函数
- Leecode Pow(x, n)实现任意次方函数
- 剑指Offer 面试题11:数的整数次方(Leetcode50. Pow(x, n))【C库函数pow模拟】题解
- pow()函数中求次方的代码,分别用 for 循环和 while 作解析
- Linux下的C语言pow()函数引出的问题
- pow() 函数返回 x 的 y 次方
- 2018_蓝桥_pow()函数_次幂函数总结
- C语言之指针、数组和函数
- C语言中操作字符串的一些函数源代码
- 用C语言实现参数个数可变的函数
- 【转贴】C语言中操作字符串的一些函数源代码