剑指10二进制中1的个数

题目描述

输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。
class Solution {
public:
     int  NumberOf1(int n) {
         return bitset<32>(n).count();
     }
};
class Solution {
public:
     int  NumberOf1(int n) {
         int result=0;
         int test=n;
         while (test!=0){
             test&=(test-1);
             result++;
         }
         return result;
     }
};
posted on 2020-07-22 10:40  滚雪球效应  阅读(109)  评论(0编辑  收藏  举报