需要记住的是一个数与一个比自己小1的数相与的话会将自己的二进制标识中的最后面的一个1(最低位的1)去掉。
101
100
--------------
100 将最后面的1去掉了
110
101
------------
100 将110最后面的1去掉了。
101011100
101011011
---------------------
101011000 将101011100最后面的1去掉了。
所以只要循环一下就可以得出到底一个数有几个1了。
注意的是参数不能为0.