请问如何表达数值的整数次方?
- 内容介绍
- 文章标签
- 相关推荐
本文共计187个文字,预计阅读时间需要1分钟。
javaclass Solution { public double myPow(double x, int n) { if (n==0) return 1; if (x==1) return 1; double res=1; long i=n; // 处理n为负数的情况 if (n 0) { if ((i & 1)==1) res *=x; x *=x; i >>=1; } return res; }}
class Solution {
public:
double myPow(double x, int n) {
if(n==0)return 1;
if(x==1)return 1;
double res=1;
long i=n;
//if(n<0)i=-n;
while(i)
{
if(i&1) res*=x;//当最低位二进制位为1时,才乘入结果
x*=x;//每移动一位,都乘以x
i/=2;//向左移位
}
return n<0? 1/res:res;
}
};
本文共计187个文字,预计阅读时间需要1分钟。
javaclass Solution { public double myPow(double x, int n) { if (n==0) return 1; if (x==1) return 1; double res=1; long i=n; // 处理n为负数的情况 if (n 0) { if ((i & 1)==1) res *=x; x *=x; i >>=1; } return res; }}
class Solution {
public:
double myPow(double x, int n) {
if(n==0)return 1;
if(x==1)return 1;
double res=1;
long i=n;
//if(n<0)i=-n;
while(i)
{
if(i&1) res*=x;//当最低位二进制位为1时,才乘入结果
x*=x;//每移动一位,都乘以x
i/=2;//向左移位
}
return n<0? 1/res:res;
}
};

