标签:个数 输入 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; } }
标签:个数 输入 int 表示 als 次方 判断 因此 不能
原文地址:https://www.cnblogs.com/songchengyu/p/12657651.html