fork download
  1. #include <stdio.h>
  2. #include <memory.h>
  3.  
  4. void printb(unsigned int x);
  5. int bitcount(unsigned x);
  6.  
  7.  
  8.  
  9. int main(void){
  10. int i;
  11. unsigned int x = 0xFF30;
  12.  
  13. printb(x);
  14. printf("%d\n", bitcount(x));
  15.  
  16.  
  17. return 0;
  18. }
  19.  
  20. int bitcount(unsigned x){
  21. int b = 0;
  22.  
  23. while(x > 0)
  24. if(x &= (x-1))
  25. b++;
  26. return ++b;
  27. }
  28.  
  29. void printb(unsigned int x){
  30. int i;
  31. int mask = 0x1;
  32.  
  33. for(i = 15; i >= 0; i--){
  34. printf("%d", (x >> i) & mask);
  35. if((i % 4) == 0) putchar(' ');
  36. }
  37. putchar('\n');
  38. }
Success #stdin #stdout 0s 2156KB
stdin
Standard input is empty
stdout
1111 1111 0011 0000 
10