题解 | #数值的整数次方#
数值的整数次方
http://www.nowcoder.com/practice/1a834e5e3e1a4b7ba251417554e07c00
需要注意base同时做平方运算,因为右移一位是平方的
public double Power(double base, int exponent) {
if(base == 0 && exponent == 0){
return 0;
}
if(exponent < 0){
base = 1 / base;
exponent = -exponent;
}
double res = 1.0;
while(exponent > 0){
if((exponent&1) == 1){
res *= base;
}
exponent >>= 1 ;
base *= base ;//base同时做平方运算
}
return res;
}
}