问题:
Given an integer, write a function to determine if it is a power of two.
解决思路:
求一个数是2的n次幂,则由于2的n次幂的二进制最高位都是1,所以利用&运算,即可解决。
代码如下:
public boolean isPowerOfTwo(int n) {
if(n<1){
return false;
}
return (n&(n-1))==0;
}
本文介绍了一种简单的方法来确定一个整数是否为2的幂次。通过观察2的幂次的二进制表示,可以发现其最高位始终为1,利用这一特性可以通过按位与运算进行快速判断。
362

被折叠的 条评论
为什么被折叠?



