码迷,mamicode.com
首页 > 其他好文 > 详细

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

时间:2020-04-08 09:59:08      阅读:52      评论:0      收藏:0      [点我收藏+]

标签:个数   输入   int   表示   als   次方   判断   因此   不能   

题目描述:

  给一个数字 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的整数次方

标签:个数   输入   int   表示   als   次方   判断   因此   不能   

原文地址:https://www.cnblogs.com/songchengyu/p/12657651.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!