欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

C语言统计一个数二进制中1的个数

程序员文章站 2022-06-03 12:20:01
...

这里还是要用到位操作符的知识,我在前边还写了关于运用位操作符的小程序,第一篇统计两数二进制数中不同的位数里有关于位操作符的详解,有兴趣可以去看看

#include <stdio.h>
#include <windows.h>
#pragma warning (disable:4996)
int Parate(int x)
{
	int i = 0;
	int count = 0;
	while (i < (sizeof(x)* 8))//szeof计算了x的字节数,乘8计算了它的位数
	{
		if (x&(1 << i))
		{
			count++;//统计了二进制数中的1的个数
		}
		i++;
	}
	return count;
}
int main()
{
	int x = 0;
	printf("请输入一个数:");
	scanf("%d",&x);
	printf("该数的二进制序列中有%d个1\n", Parate(x));
	system("pause");
	return 0;
}

运行截图如下:
C语言统计一个数二进制中1的个数