【C语言】——求一个整数存储在内存中二进制中的1的个数的三种方法
程序员文章站
2022-07-15 09:56:59
...
编写代码实现:求一个整数存储在内存中二进制中的1的个数
方法(1)
//(1)方法
int main(){
int num = 10;
int count = 0;//计数
while (num){
if (num % 2 == 1)
count++;
num = num / 2;
}
printf("二进制中1的个数为:%d\n",count);
return 0;
}
方法(2)
//(2)方法
int main(){
int num = -1;
int i = 0;
int count = 0;//计数
for (i = 0; i < 32;i++){
if (((num >> i) & 1) == 1)
count++;
}
printf("二进制中1的个数为:%d\n",count);
return 0;
}
方法(3)
//(3)方法
int main(){
int num = -1;
int i = 0;
int count = 0;
while (num){
count++;
num = num &(num - 1);
}
printf("二进制中1的个数为:%d\n",count);
return 0;
}
上一篇: 求二进制数中一的个数的三种方法
下一篇: 【js】js中保留两位小数的方法