統計二進位制中1的個數 2020-12-7
阿新 • • 發佈:2020-12-09
技術標籤:程式語言
統計二進位制中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;
}
輸出結果