求二进制中一的个数

#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 收藏 评论
分享
牛客网
牛客企业服务