剑指 Offer 15. 二进制中1的个数

//计算二进制中的1个个数 ,利用php的位运算符 按位与(&) 和 >>(按位右移)

按位与 对位是1的就是1
1001
1011
----
1001

按位右移(9>>2 = 2)
1001
右移2
0010

function hammingWeight($number){

    $count = 0;
    while ($number){

        //判断对位是否是1,如果是1说明存在1
        $count  = $count + ($number & 1);
        //右移,慢慢的减少二进制
        $number = $number >> 1;
    }
}

 

你可能感兴趣的:(算法,算法)