快速得到一个数的二进制中的1的个数

   int count=0;
        while(n)
        {
            n=n&(n-1);//消除当前二进制的靠后的1,如果数字很大统计的1很频繁用这个比较快,因为他不是一位一位判断他只判断是1的位数。跳跃性的。
            count++;
        }
        return count;
 
任何一位^0不变   ^1取反。

 

posted @ 2023-10-24 15:45  泥薯  阅读(18)  评论(0)    收藏  举报