给定一个double类型的浮点数base和int类型的整数exponent。求base的exponent次方。
保证base和exponent不同时为0
实例分析:
非递归的快速次幂方法
public class Solution {
public double Power(double base, int exponent) {
//return Math.pow(base,exponent);
if(exponent<0){
base=1/base;
exponent=-exponent;
}
double x=base; //记录x^0,x^1,x^2....
double ret=1.0;
while(exponent!=0){
if((exponent&1)!=0){
ret*=x; //把二进制在位为1的乘
}
x*=x;
exponent>>=1;
}
return ret;
}
}
京公网安备 11010502036488号