数值的整数次幂

给定一个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;
  }
}
全部评论

相关推荐

牛客868257804号:九个中铁八个中建
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务