troubleasy

导航

 

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

思路:把整数减一后与整数本身进行与运算,会把整数的一个1变为0,有多少个1,就可进行多少次运算;

     int  NumberOf1(int n) {
         //十进制转换成二进制
         int count=0;
         while(n!=0)
         {
             count++;
             n=n&(n-1);
         }
         return count;
     }

posted on 2020-05-25 20:57  troubleasy  阅读(92)  评论(0编辑  收藏  举报