首页 > 其他 > 详细

2的幂次方

时间:2020-02-27 14:20:36      阅读:61      评论:0      收藏:0      [点我收藏+]

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

方法1:n除以2 余数是0  剩余除数再除以2  知道除数为0,如果余数一直是0则true;

    public static Boolean getResult(Integer n){
        if(n==2){
            return true;
        }else if(n==1){
            return false;
        }else{
            if(n%2!=0){
                return false;
            }else{
                return getResult(n/2);
            }
        }
    }

 

方法2:二进制

二进制中 2的幂次方都是1后面全是0的形式 如16  10000;所以n&(n-1)==0可以判断是否为这种形式的二进制;

    public static Boolean getResult(Integer  n){
        return (n&(n-1))==0;
    }

 

2的幂次方

原文:https://www.cnblogs.com/xiatc/p/12371919.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!