Cuente cuántos 1 hay en el contenido de memoria de un número entero

#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>

int main()
{
	int n;
	scanf("%d" , &n);
	int x = 1,m=0;
	for (int i = 1; i < 32; i++ , x = x << 1)
	{ //整型32位,每一位1都和n进行&运算,如果n的这一位不为1,结果肯定不为0
		if ((x&n) != 0)	  
		{
			m++;
		}
	}
	printf("%d的二进制中1的个数为:%d\n" , n , m);
	return 0;
}

Supongo que te gusta

Origin blog.csdn.net/qq_43496435/article/details/113803958
Recomendado
Clasificación