#include <stdio.h>
//方法一:
int main(){
int num = 10;
int count = 0;
while (num) {
if(num % 2 == 1){
count ++;
}
num = num / 2;
}
printf("%d\n", count);
return 0;
}
//方法二:
int main(){
int num = -10;
int i;
int count = 0;
for(i = 0; i < 32; i++){
//如果这个表达式的值为0, 说明这个数字的第i 位就是0p;
if((num & (1 << i)) != 0){
++count;
}
}
printf("%d\n", count);
return 0;
}
//方法三:
int main(){
int num = 10;
int i;
int count = 0;
while(num){
count++;
num = num & (num - 1);
}
printf("count = %d", count);
return 0;
}
编写代码实现:求一个整数存储在内存中的二进制中1的个数。
最新推荐文章于 2022-11-28 12:44:05 发布