一条语句判断一个整数是不是2的整数次方

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了一条语句判断一个整数是不是2的整数次方相关的知识,希望对你有一定的参考价值。

 

题目

一条语句判断一个整数是不是2的整数次方

 

解题思路

这题和上一题目 二进制中1的个数 很相似,题目翻译过来的意思就是二进制中有几个1? 现在你脑海里马上能想到的应该是用二进制32位去进行计算。

得出公式:(N-1)&N == 0

 

代码实现:

import java.util.Scanner;

public class four {
    public static void main(String[] args) {
        //用一条语句判断一个整数是不是2的整数次方。
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();
        System.out.println(Integer.toString(N, 2));


        int count = 0;
        while (N != 0) {
            if (((N = (N - 1) & N) == 0)) {
                System.out.println("是");
            }else{
                System.out.println("不是");
            }

        }
    }
}

 

以上是关于一条语句判断一个整数是不是2的整数次方的主要内容,如果未能解决你的问题,请参考以下文章

好玩的位运算2:用一条语句判断一个整数是不是2的整数次方

怎么巧判断一个整数是不是是2的n次方幂

判断整数是不是是2的幂次方

c语言:判断一个整数是不是2的整数次方

如何利用一条简单语句判断一个整数是否为2的整数次幂

判断一个数是否时2的整数次方