解法一:
int cout(BYTE v){
int num=0;
while(v){
if(v%2==1){ num++;}
v=v/2;
}
}
解法二:
int count(BYTE v){
int num=0;
while(v){
num+=v&0x01;
v>>=1;
}
}
解法三:
int cout(BYTE v){
int numm=0;
while(v){
v&=(v-1);
num++;
}
}
解法四:空间换时间。
直接将0~255数中“1”的个数存储在数组中,v作为数组下标。算法时间复杂度仅为O(1)