用位运算判定给定的整数是不是2的整数次幂

来源:互联网 发布:网络推广策划书范文 编辑:程序博客网 时间:2024/05/21 09:50

 

用位运算判定给定的整数是不是2的整数次幂

利用最高位是1,其后所有位为0的特性,常数时间解决问题:

//判断n是否是2的正整数冪

boolis_2exp(unsigned int n)

{

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

}

 

原创粉丝点击