判断二进制有几个1

简介: 判断二进制有几个1

判断有多少个1

1.右移每次判断一个二进制

int several_one(int a)
{
  int count = 0;
  for (int i = 0; i < 32; i++)//只能判断int型
  {
    if (((a >> i) & 1) == 1)
      count++;
  }
  return count;
}


2.形参a的值发生了改变

int several_one(int a)
{
  int count = 0;
  while (a != 0)//可以判断任意
  {
    count++;
    a = a & (a - 1);
  }
  return count;
}
相关文章
|
1月前
二进制中1的个数
二进制中1的个数
21 0
|
1月前
|
C++
Acwing.26 二进制中1的个数
Acwing.26 二进制中1的个数
|
1月前
|
算法
算法题 — 整数转二进制,查找其中1的数量
算法题 — 整数转二进制,查找其中1的数量
19 0
|
算法
34.二进制中1的个数
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
69 0
34.二进制中1的个数
|
开发者
二进制中1的个数(上)
二进制中1的个数(上)
二进制中1的个数(上)
|
存储 前端开发 程序员
二进制中1的个数(下)
二进制中1的个数(下)
二进制中1的个数(下)
统计二进制中1的个数,,,写一个函数,返回参数二进制中1的个数 写一个代码判断一个数字是不是2的n次方
统计二进制中1的个数,,,写一个函数,返回参数二进制中1的个数 写一个代码判断一个数字是不是2的n次方
112 0
代码例题(1-3)(含进阶版)及讲解:1.求两个数二进制中不同位的个数 2.打印整数的二进制的奇数和偶数位 3.交换两个变量,不创建临时变量 (ps最后一道为已知代码求值题)
代码例题(1-3)(含进阶版)及讲解:1.求两个数二进制中不同位的个数 2.打印整数的二进制的奇数和偶数位 3.交换两个变量,不创建临时变量 (ps最后一道为已知代码求值题)
81 0
018.任意进制数的转换
018.任意进制数的转换
70 0