21xrx.com
2024-11-05 14:42:18 Tuesday
登录
文章检索 我的文章 写文章
C++统计二进制数中1的个数
2023-07-12 01:18:13 深夜i     --     --
C++ 统计 二进制数 1的个数

C++是一门十分广泛使用的编程语言,被广泛应用于各种领域。在程序设计中,统计二进制数中1的个数是一项基础操作,这也是很多应用场景中需要用到的。

在C++中,可以通过以下方法来统计一个二进制数中1的个数:

方法一:利用位运算

这种方法是最直观的方法,利用位运算对二进制数进行操作,计算其中1的个数。具体步骤如下:

1.将二进制数与1进行与运算,判断最低位是否为1;

2.如果最低位为1,则计数器加1;

3.对二进制数进行右移操作,使得下一位成为最低位;

4.循环执行以上步骤,直到二进制数为0。

代码实现:

int countOne(int num)

{

  int count = 0;

  while (num != 0)

  {

    if (num & 1 == 1)

    {

      count++;

    }

    num = num >> 1;

  }

  return count;

}

方法二:利用库函数

C++标准库中提供了一些可以方便地进行位运算的函数,例如__builtin_popcount函数,该函数可以直接返回一个整数中1的个数。

代码实现:

int countOne(int num)

{

  return __builtin_popcount(num);

}

总结

二进制数中1的个数是一个基础操作,在程序设计中经常会用到。在C++中,可以使用位运算和库函数两种方法来实现。无论哪种方法,都能快速准确地得到二进制数中1的个数,为程序设计提供了很大的方便。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复