题解 | #二进制中1的个数#

二进制中1的个数

http://www.nowcoder.com/practice/8ee967e43c2c4ec193b040ea7fbb10b8

public:
     int  NumberOf1(int n) {
         int cnt=0;
         //我们可以发现1100010和1100001 相与&后是1100000
         //1011111和和1100000 &的结果是1000000
         //每相与一次就会少一个1,通过这个方法可以计算1的个数
         while(n!=0){
             cnt++;
             n=n&(n-1);
         }
         return cnt;
     }
};
全部评论

相关推荐

2025-12-17 17:15
华东师范大学 运营
点赞 评论 收藏
分享
01-14 12:34
门头沟学院 C++
牛马人的牛马人生:太暖心了啊 配环境是真烦
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务