pow
计算x的y次幂。
double pow( double x, double y );
常规 | 需引用的头文件 | 兼容性 |
pow | <math.h> | ANSI, Win 95, Win NT |
返回值:
pow返回x^y的值。溢出或下溢时不会打印错误消息。
x和y的值 | pow的返回值 |
x < > 0 and y = 0.0 | 1 |
x = 0.0 and y = 0.0 | 1 |
x = 0.0 and y < 0 | INF |
pow不识别大于264的整数浮点值,例如1.0E100。
pow函数的用法和模拟实现:
for方法实现:
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <math.h>
double Mypow(double a, double b)
{
double c=1.0,i;
if (b == 0)
c = 1.0;
else
if(b>0)
for (i = 0; i < b; i++)
{
c *= a;
}
else
for (i = 0; i < -b; i++)
{
c /= a;
}
return c;
}
int main()
{
double a = 2.0, b = 3.0,c=0.0,d=0.0;
c = pow(a, b);
d = Mypow(a, b);
printf("c=%lf\nd=%lf", c,d);
}
函数递归:
double Mypow(double a, double b)
{
if (b == 0)
return 1.0;
else
if (b > 0)
return a * Mypow(a, b - 1);
else
return 1.0 / Mypow(a, -b);
}
int main()
{
double a = -3.0, b = 2.0,c=0.0,d=0.0;
c = pow(a, b);
d = Mypow(a, b);
printf("c=%lf\nd=%lf", c,d);
}