剑指offer15.二进制中1的个数

【剑指offer15.二进制中1的个数】思路一:每次右移一位,与整数1做位与运算(把整数右移一位和把整数除以2在数学上等价,但除法效率低),但是负数一直右移会陷入死循环?
思路二:先和1做与运算,然后把1左移,再做与运算,再左移。。。
思路三:把一个整数减去1之后和原来的整数做位与运算,得到的结果相当于把整数的二进制表示中最右边的1变成0.

    推荐阅读