Number of 1 Bits
Total Accepted: 25965 Total Submissions: 70075My Submissions
Question Solution
Write a function that takes an unsigned integer and returns the number of ’1‘ bits it has (also known as the Hamming weight).
For example, the 32-bit integer ’11‘ has binary representation 00000000000000000000000000001011
, so the function should return 3.
Credits:
Special thanks to @ts for adding this problem and creating all test cases.
Hide Tags
Have you met this question in a real interview?
Yes
No
这道题考虑按位与运算和位的左移右移就可以了
#include<iostream> #include<bitset> typedef unsigned int uint32_t; using namespace std; int hammingWeight(uint32_t n) { unsigned int temp=1; int result=0; for(int i=0;i<32;i++) { int temp2=temp<<i; if((n&temp2)!=0) result+=1; } return result; } int main() { cout<<hammingWeight(11)<<endl; }
时间: 2024-11-03 21:12:33