(剑指Offer)------二进制中1的个数

Posted donglt

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(剑指Offer)------二进制中1的个数相关的知识,希望对你有一定的参考价值。

题目:

输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。

思路:

此问题最精彩之处,在于采用---位运算---处理相应的内容

     function calNum(){
           // var calStr = parseInt(document.getElementById("preArr").value);
            var calStr =99;
            var calStrs = parseInt(document.getElementById("preArr").value).toString(2);//二进制展示内容
            var count = 0;
            while (calStr != 0) {
                if ((calStr & 1) == 1) { //与规则 : 1&1=1 当余数为1,则计数
                    count++;
                }
                calStr = calStr >>> 1;//每次除二,整除为0 ,就不计算在内
            }
            return count;
        }

 

此页面下载后,直接放在浏览器演示,即可成功

git源码页面展示内容:https://github.com/Kristen-D/Algorithms/tree/master/algorithm/binaryOfNum

 

以上是关于(剑指Offer)------二进制中1的个数的主要内容,如果未能解决你的问题,请参考以下文章

剑指offer面试题 15. 二进制中 1 的个数

剑指offer 二进制中1的个数

剑指Offer-Java-二进制中1的个数

剑指Offer-Java-二进制中1的个数

剑指offer11二进制中1的个数

剑指offer第十一题:二进制中1的个数