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

**题目要求:**请实现一个函数,输入一个整数,输出该数二进制表示中 1 的个数。例如,把 9 表示成二进制是 1001,有 2 位是 1。所以,若是输入 9,则该函数输出 2。java **不可行的解法一:**将该整数(二进制)与1进行位运算,判断最右边一位是否为1,若为1,则计数器加一,而后将该数右移一位,可是该方法只适用于正整数,由于负数右移一位,最左边补一个1,会致使死循环。web pub
相关文章
相关标签/搜索