数值的整数次方
给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
分析
首先要注意的是int类型的数的取值范围是负的 2的31次方到2的31次方减一!!!所以在代码实现的过程中就要考虑到负数次方。
其次要注意的就是double类型的浮点数,这些就是变成的细节问题了。
代码实现
public double Power(double base, int exponent){
if(base = 0.0){
return 0.0;
}
if(exponent = 0){
return 1.0//返回值是double类型的数,所以是.0,细节真的很重要;
}
double m = 1.0d;//double类型的数要加上d,细节;
int e = exponent > 0 ? exponent : -exponent;//这里考虑到可能是负数次方的情况;
for(int i = 1; i <= e; i++){
m = m * base;
}
return e > 0 ? m : 1/m;
}
结果