获取二进制中1的数量


获取二进制中1的数量

题目

1
获取二进制中1的数量

解法

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
思路:
去除二进制末尾的1算法 a & (a - 1),重复直到 a=0为止

代码:
/**
* @return Integer
*/
function minCostClimbingStairs($x)
{
$z = 0;
while ($x > 0) {
$x = $x & ($x - 1);
$z++;
}

return $z;
}