求一个整数存储在内存中的二进制中1的个数。

主要运用了移位操作符和位操作符,在循环中与1进行按位与操作,并对count进行++。

#include <stdio.h>

int main()
{
    int num = 0;
    int count = 0;
    printf("请输入一个整数:\n");
    scanf("%d", &num);
    while (num)
    {
        count++;
        num = num&(num - 1);
    }
    printf("二进制中1的个数:%d\n", count);
    return 0;
}

这里写图片描述
这里写图片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章