位运算-判断一个数是否为2的整数次方

1.问题描述:是不是2的整数次方:用一条语句判断一个整数是不是2的整数次方

2.思路分析:2的整数次方对应的二进制的最高位上只有一个1,那么将该数字减去1再与该数字进行与运算,如果是2的整数次方,那么结果一定为0

下面是代码实现:

import java.util.Scanner;
public class 判断一个数是否为2的整数次方 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n = sc.nextInt();
        if(((n-1)&n)==0){
            System.out.println("是2的整数次方");
        }else{
            System.out.println("不是2的整数次方");
        }    
    }
}

猜你喜欢

转载自blog.csdn.net/qq_39445165/article/details/81711764