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

Posted 木原纺

tags:

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

题目描述:

  给一个数字 N,判断是否是2的整数次方?

 

解题方向:可以根据二进制的特点,用消去一法直接得出结果。

消去一法:  N--1可以使N的最低位的1为0,所以最低位的1之后的每一位都是0,因此 N &(N--1)(核心)就可以消去最低为的1.

题解思路:由于2的整数次方二进制表示形式只有一个1,所以利用消去1法后,结果一定为0.

代码:

//消去一法解是否是2的整数次方
    public static boolean  f(int N){  //输入的N不能为0
        if((N & (N-1))==0){
            return true;
        }else{
            return false;
        }
    }

 

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

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

如何判断一个数是不是是2的n次方

面试官:判断一个数是否为2的整数次幂

递归:判断一个数是否是2的幂

递归:判断一个数是否是2的幂

递归:判断一个数是否是2的幂