題目描述
輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼表示。
補充
補碼
原碼、反碼、補碼知識詳細講解(此作者是我找到的講的最細最明白的一個)
解題思路
行吧。。。我不太會按位操作。。。看答案吧。。。
牛客官方題解
實作
class Solution {
public:
int NumberOf1(int n) {
int count = 0;
while(n!= 0){
count++;
n = n & (n - 1);
}
return count;
}
};
運作結果
運作時間:4ms
占用記憶體:484k