其他分享
首页 > 其他分享> > 剑指 Offer 16. 数值的整数次方

剑指 Offer 16. 数值的整数次方

作者:互联网

快速幂。处理当指数为负数时的情景,还要注意int32的数据范围。

class Solution {
    public double myPow(double x, int n) {
      if(x==0)
          return 0;
      double res=1;
      long b=n;
      if(n<0)
      {
          x=1/x;
          b=-b;//用long存储是因为int32的数值范围在边界条件转化会出错
      }
     //快速幂
     while(b>0){
      if((b&1)==1)
        res=res*x;
      x=x*x;
      b>>=1;

     }
     
    return res;
    }
}

标签:myPow,return,Offer,int,res,16,long,double,次方
来源: https://www.cnblogs.com/wsshub/p/14528585.html