class Solution {
public:
double Power(double base, int exponent) {
double num = base,res = 1;
int exp = exponent;
if (exp == 0)
return 1;
else if (exp <0){
if (base == 0)
return -1;
exp = (-exp);
}
while (exp != 0){
if (exp % 2 != 0)
res*=num;
num *= num;
exp >>= 1;
}
return (exponent>0 ? res : (1 / res));
}
};
考虑base==0,exp为非正数情况