是不是2的整数次方

/*
    用一条语句判断一个整数是不是2的整数次方
    这题的普通思路是,将这个数一直模以2,再除以2
    还要判断一个特殊的数字1,因为1是2的0次方
    但是有另一个一个方法就是,用二进制来计算
    其实要看是不是2的整数次方,其实就看二进制中是否只有一个1,
    如果只有一个1的话,那就证明是2的整数次方
    2的0次方为1, 2的1次方为2 , 2的2次方为4

    算法: 通过 n-1 后再与运算 n 得出为0 ,即结果是2的整数次方
 */
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(true);
        else
            System.out.println(false);
    }
}

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容