使用c++求011111111111111111111111111111111111111111111111111111110000000000000000000001111111111111的汉明重量
汉明重量是指一个二进制数中1的个数。对于给定的二进制数011111111111111111111111111111111111111111111111111111110000000000000000000001111111111111,其汉明重量为59。以下是c++代码实现:
#include <iostream>
using namespace std;
int hammingWeight(uint32_t n) {
int count = 0;
while (n != 0) {
count++;
n = n & (n - 1);
}
return count;
}
int main() {
string s = "011111111111111111111111111111111111111111111111111111110000000000000000000001111111111111";
uint32_t num = stoi(s, nullptr, 2);
int hamming = hammingWeight(num);
cout << "The Hamming weight of " << s << " is " << hamming << endl;
return 0;
}
``
原文地址: https://www.cveoy.top/t/topic/eS7V 著作权归作者所有。请勿转载和采集!