本文主要是介绍C++ 统计二进制串中0出现的个数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
描述
一个32位有符号整数,使用二进制来表示,现在要统计一下二进制串中'0'的个数。
示例1
输入:
11
返回值:
29
说明:
二进制00000000000000000000000000001011中有29位0
class Solution {
public:/*** 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可** * @param n int整型 * @return int整型*/int countZeros(int n) {// write code hereint count = 0, i = 0; while(i < 32) {count += (n>>i++) & 1; //循环右移每个bit位,判断最低位是否为1,利用1&1=1, 0&1=0的性质 }return 32 - count; //统计出1的个数,用32减就得到0的个数了}
};
这篇关于C++ 统计二进制串中0出现的个数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!