每日一题[15]-二进制中1的个数

2017-03-14  本文已影响0人  MAXPUP

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
解:
使用的是位运算。

int countx =0;  
    while(x)  
    {  
          countx ++;  
          x = x&(x-1);  
     }  
    return countx;  

x&(x-1)会使最低位的1为零。

上一篇 下一篇

猜你喜欢

热点阅读