<p style="color: rgb(54, 46, 43); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);"> 给定一个整数n,判断它是否为2的次方幂。</p><p style="color: rgb(54, 46, 43); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">思路:1,2,4,8,16...转换为二进制分别为:</p><p style="color: rgb(54, 46, 43); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">1 10 100 1000 10000 </p><p style="color: rgb(54, 46, 43); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">这些数减1后分别为</p><p style="color: rgb(54, 46, 43); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">0 01 011 0111 01111 </p><p style="color: rgb(54, 46, 43); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);"><span style="color: rgb(54, 46, 43); font-family: Arial; font-size: 14px; line-height: 26px; white-space: pre; background-color: rgb(255, 255, 255);">与自身进行按位与,如果结果为0,表示这个数是2的n次幂</span>
</p><p style="color: rgb(54, 46, 43); font-family: Arial; font-size: 14px; line-height: 26px; background-color: rgb(255, 255, 255);">10&01 = 0 100&011 = 0 1000&0111 = 0 10000&01111 = 0 </p>
public class Solution {
public boolean isPowerOfTwo(int n) {
if(n>0&&((n-1)&(n)) == 0) return true;
else return false;
}
}