1. 程式人生 > 其它 >統計二進位制中1的個數 2020-12-7

統計二進位制中1的個數 2020-12-7

技術標籤:程式語言

統計二進位制中1的個數

二進位制中統計1的個數,兩種方法實現,方法一:二進位制轉換首先要想到%2 /2的方法來實現二進位制的表示;方法二:通過位操作符&(按位與 (有0則0,同1則1))。

方法一:

#include <stdio.h>
int main()
{
	int n = 11;
	int i = 0;
	while (n)//迴圈語句判斷n 轉二進位制
	{
		if (n % 2 == 1)
		{
			i++;
		}
		n = n / 2;
	}
	printf("%d ", i);
	return 0;
}

輸出結果


在這裡插入圖片描述

**方法二:
**按位與 &,根據位操作符可以知道 & (有0則輸出為0,全為1輸出則為1),判斷數字轉為二進位制判斷1的個數,可以用位操作符;

#include <stdio.h>
int main()
{
	int n = 11;
	int i = 0 ;
	int t;
	int count = 0;
	for (i = 0; i < 7; i++)//輸出為低位到高位 
	{
		t = ((n >> i) & 1);//進行右移操作位 以及對其&
		if (t==1)
		{
			count++;	
		}
	}
	printf("%d "
, count); return 0; }

輸出結果
在這裡插入圖片描述