First version:
int CoutSetBits(int Num) {
for (int count = 0; Num; Num >>= 1) {
if (Num & 1)
count++;
}
return count;
}
Optimized version:
int CoutSetBits(int Num) {
for (int count = 0; Num; count++) {
Num &= Num - 1;
}
}