当前位置:首页 C++ > 正文

C++学习之统计二进制数据1的个数

作者:野牛程序员:2023-07-09 07:19:51 C++阅读 2812

在C++中,你可以使用位运算来统计二进制数据中1的个数。以下是一个使用位运算的示例代码:

#include <iostream>

// 函数countSetBits统计一个无符号整数中1的个数
int countSetBits(unsigned int n) {
  int count = 0;
  while (n) {
    count += n & 1; // 检查最低位是否为1
    n >>= 1;       // 将n右移一位
  }
  return count;
}

int main() {
  unsigned int num = 155; // 要统计1的个数的二进制数
  int result = countSetBits(num);
  std::cout << "Number of set bits in " << num << ": " << result << std::endl;

  return 0;
}

上述代码定义了一个countSetBits函数,该函数接受一个无符号整数n作为参数,并使用循环和位运算来统计n的二进制表示中1的个数。主函数main中使用了一个示例数字155,然后调用countSetBits函数来计算1的个数,并输出结果。

编译并运行上述代码,输出应为:

Number of set bits in 155: 5

这表示数字155的二进制表示中有5个1。你可以尝试使用不同的数字来测试这段代码。

野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击