1. 程式人生 > 其它 >[C語言]——(位運算)求一個整數的二進位制當中有多少個1

[C語言]——(位運算)求一個整數的二進位制當中有多少個1

技術標籤:c語言

文章目錄


一、實現思路

拿數字11來舉例:
在這裡插入圖片描述

二、程式碼實現

程式碼如下:

#include "stdio.h"

void BinaryNum(int n)
{
	int count=0;
	for(int i=0;i<=32;i++)
	{
		if(n%2==1)
		count++;
		n>>=1;
		//將二進位制數右移一位,判斷第2,3,..,n位上的數是否為1
	}
	printf("%d ",count);
}

int main()
{
	int num=0;
	scanf
("%d",&num); BinaryNum(num); }

執行結果:
在這裡插入圖片描述