#include <stdio.h>
#include <stdlib.h>
int bitcount(unsigned int);
int main(){
int count = 0, a;
a = 1023;
count = bitcount(a);
printf("%d有%d個位元為1\n\n", a, count);
system("pause");
return 0;
}
int bitcount(unsigned int n)
{
int count = 0 ;
while (n)
{
count++ ;
n &= (n - 1) ; //關鍵演算之處
}
return count ;
}
No comments:
Post a Comment