求二进制中一的个数

#define _CRT_SECURE_NO_WARNINGS 1
#include<stdio.h> 
#include<stdlib.h>
//法一:
int han(int a)
{
    int count = 0;
    while (a)
    {
        if (a % 2 == 1)
            count++;
        a = a / 2;
    }
    return count;
}
int main()
{
    unsigned int input = 0;
    printf("请输入一个数");
    scanf("%d", &input);
    int count = han(input);
    printf("%d\n", count);
    system("pause");
    return 0;

}
//法二:
#include<stdio.h> 
#include<stdlib.h>
int main()
{
    int input = 0;
    printf("请输入一个数字");
    scanf("%d", &input);
    int count = 0;
    while (input)
    {
        count++;
        input = input&(input - 1);
    }
    printf("%d\n", count);
    system("pause");
    return 0;
}
全部评论
顶。。。
点赞 回复 分享
发布于 2021-07-29 10:08
点赞 回复 分享
发布于 2021-07-29 10:08

相关推荐

评论
2
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务