How to count the number of 1 bit in a given number with C

2 Answers

0 votes
#include <stdio.h>
 
int Count1Bit(int n) {
    int count = 0;
  
    while (n > 0) {
        count += n & 1;
        n >>= 1;
    }
    return count;
}
 
int main(void) {
    int n = 95; // 0101 1111
          
    int count = Count1Bit(n);
          
    printf("Number of 1 bit = %d", count);
    
    return 0;
}
 
 
 
 
/*
run:
        
Number of 1 bit = 6
        
*/

 



answered Sep 13, 2021 by avibootz
edited Dec 4, 2021 by avibootz
0 votes
#include <stdio.h>

int Count1Bit(int n) {
    int count = 0;

    while (n) {
        n &= (n - 1);
        count++;
    }

    return count;
}

int main(void) {
    int n = 95; // 0101 1111

    int count = Count1Bit(n);

    printf("Number of 1 bit = %d", count);

    return 0;
}




/*
run:

Number of 1 bit = 6

*/

 



answered May 14, 2022 by avibootz

Related questions

2 answers 175 views
1 answer 191 views
1 answer 117 views
1 answer 129 views
1 answer 136 views
...