求数的次方,考虑正数、负数和0的情况。
程序不支持大数据,如有需要,可以换成long/long long/自定义数据结构
这次的逻辑比较简单,话不多说直接看代码
// 求base的exponent次方
private static double power(double base, int exponent){
// 正指数
if(exponent > 0){
return powergt(base, exponent);
}
// 负指数
if(exponent < 0){
exponent = ~exponent + 1;
return 1 / powergt(base, exponent);
}
// 0的情况
return 1;
}
private static double powergt(double base, int exponent){
double result = 1.0;
while(exponent > 0){
result *= base;
exponent --;
}
return result;
}



