- 分析:2的整数次方的2进制只有1位是1;所以判断该数是否只有1位1即可,分析完之后就十分简单了,代码如下
@Test
public void test5() {
int a = 8;
//输出一个数字的二进制形式用Integer.toBinaryString()方法
System.out.println(Integer.toBinaryString(a));
if (((a-1)&a)==0) {
System.out.println("该数是2的整数次方");
}else
System.out.println("该数不是2的整数次方");
}