当前位置: 代码迷 >> 综合 >> 【way】(2)判断2的次幂
  详细解决方案

【way】(2)判断2的次幂

热度:74   发布时间:2024-01-21 07:25:59.0

是返回1 不是返回0

 

方法1:

int checker ( int  n )

{

   return (n & (- n))== n ?1:0;

}

方法2:

做个判断的,

如果为正数,直接可以

return !(n & n-1);


如果为负数,需要对参数取反再加一回到正数上判断 如

tempN = (~n)+1;

 return !(tempN &(tempN - 1));

 

  相关解决方案