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

c++算法题:求二进制位中0的个数

作者:野牛程序员:2024-07-04 17:33:54 C++阅读 2423
c++算法题:求二进制位中0的个数

要计算一个整数在其二进制表示中0的个数,可以使用以下步骤:

  1. 将整数转换为二进制字符串。

  2. 统计二进制字符串中0的个数。

以下是一个C++实现:

#include <iostream>
#include <bitset>

int countZeroBits(int num) {
    std::bitset<32> binary(num); // 假设是32位整数
    int count = 0;
    for (int i = 0; i < 32; ++i) {
        if (!binary[i]) {
            ++count;
        }
    }
    return count;
}

int main() {
    int number = 13; // 示例数值
    std::cout << "二进制位中0的个数: " << countZeroBits(number) << std::endl;
    return 0;
}

以上代码中,std::bitset用于将整数转换为二进制形式,然后通过遍历每一位来统计0的个数。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • c++
  • 最新推荐

    热门点击