给定一个整数n,判断这个整数是否是2的N次方

来源:互联网 发布:java泛型使用场景 编辑:程序博客网 时间:2024/05/17 22:38

int checker(int n)
{
#if 0
 if (n<=0)
  return 0;
 if (n==1)
  return 1;
 while(n!=1)
 {
  if(n%2 == 0)
  {
   n=n/2;
   if(n==1)
    return 1;
  }
  else
   return 0;
 }
#endif
 if((n & (n-1)) == 0)
  return 1;
 else
  return 0;
}

两种实现方式,但其实n & n-1 == 0就可以搞定 

0 0
原创粉丝点击