上一篇:玩转位运算-经典例题2👈
题目
用一条语句判断一个正整数是不是2的整数次方
解析
有了前面的基础,这道题目就太简单了!如果一个整数是2的整数次方,那么它在二进制表示下一定只包含一个“1”。利用这个特点,把给出的数,消除掉一个“1”后,看它是否等于0,若等于说明它是2的整数次方,若不等于则不是。
代码
public class testdemo {
public static void main(String[] args) {
Scanner scan=new Scanner(System.in);
System.out.println("输入一个正整数");
int n= scan.nextInt();
if((n&(n-1))==0){
System.out.println("这个整数是2的整数次方");
}else{
System.out.println("这个整数不是2的整数次方");
}
scan.close();
}
}