如何计算二进制中的零个数?

问题描述

嗨,我正在制作一个方法,该方法可以将整数作为参数并计算其二进制形式具有多少个零。因此,例如,如果我有binaryZeros(44),则其二进制形式为101100。因此,binaryZeros(44)应该返回3。但是,我犯了一些错误,无法确定它的来源。如果有人可以指出我在哪里出错,或者我对这个问题的解决方法(逻辑)足够好,我将不胜感激。谢谢! 我的代码如下:

public static int binaryZeros(int n) {
int zeroCount = 0;
double m = n;
while (m >= 0.0) {
    m = m / 2.0;
    if (m == Math.floor(m)) {
        zeroCount++;
    } else {
        m = Math.floor(m);
    }
}
return zeroCount;
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)