C
源码
#include "stdio.h"
int hammingWeight(int n)
{
int dist = 0;
while (n != 0)
{
dist++;
n &= n - 1;
}
return dist;
}
int main(void)
{
printf("%d \r\n", hammingWeight(0b0000000000000000000000001011));
printf("%d \r\n", hammingWeight(0b00000000000000000110001011));
printf("%d \r\n", hammingWeight(0b000000000011100000001011));
return 0;
}
/**
* 3
* 5
* 6
*/
makefile
源码
object := test.o
test:$(object)
gcc -o test $(object)
test.o : test.c
gcc -c test.c
.PHONY:clean
clean:
-rm test *.o