首页 > 其他 > 详细

编程题:统计二进制中1的个数

时间:2021-04-05 21:58:34      阅读:20      评论:0      收藏:0      [点我收藏+]
题目名称:统计二级制中1的个数

内容:写一个函数返回参数二进制中1的个数
列如:十进制:15 二进制: 00001111 中1的各位为4

第一种方法

int count_one(unsigned int a) {
    int count = 0;
    while (a) {
        if (a % 2 == 1) {
            count++;
        }
        a = a / 2;
    }
    return count;
}

int main() {
    int a = 0;
    scanf("%d", &a);
    int count=count_one(a);
    printf("count=%d", count);
    return 0;

}

技术分享图片

第二种方法

int count_one(int a) {
    int count = 0;
    while (a) {
        a = a & a - 1;
        count++;
    }
    return count;
}
int main() {
    int a = 0;
    scanf("%d", &a);
    int count=count_one(a);
    printf("count=%d", count);
    return 0;

}

技术分享图片

编程题:统计二进制中1的个数

原文:https://blog.51cto.com/15100290/2686210

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!