题解 | 求int型正整数在内存中存储时1的个数

#include <stdio.h>

int main() {
    int a, num = 0;
    //右移 除以2 看余数是否为零
    scanf("%d", &a);
    for (int i = 0; i < 32; i++) {
        if (a % 2 == 1)
            num++;
        a = a >> 1;
    }
    printf("%d", num);
    //while (scanf("%d %d", &a, &b) != EOF) { // 注意 while 处理多个 case
        // 64 位输出请用 printf("%lld") to 
    //    printf("%d\n", a + b);
    //}
    return 0;
}

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务