题目 求出二进制中1的个数
代码解决
#include<stdio.h>
void countbit1(int x){
int sum = 0,temp = x;
while(x){
sum++;
x = x - (x&(-x));
}
printf("%d 中含有 %d 个 1 \n",temp,sum);
}
int main(){
int x = 0x7FFFFFFF;
countbit1(x);
x = 0X80000000;
countbit1(x);
}
结果
代码二
#include<stdio.h>
void countbit1(int x){
int sum = 0,temp = x;
while(x){
sum++;
x = x & (x - 1);
}
printf("%d 中含有 %d 个 1 \n",temp,sum);
}
int main(){
int x = 0x7FFFFFFF;
countbit1(x);
x = 0X80000000;
countbit1(x);
}
结果