剑指offer 二进制中1的个数 java代码

题目描述 输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。web 思路:经过数学运算能够发现一个整数a与a-1按位与运算,即a & a-1,若是将结果表示为二进制,至关于将a的二进制形式最右一个1变成0;好比 a=111(b),a-1=110(b), a & a-1 = 110(b)。很是巧妙。svg 参考代码:spa public static int NumberOf1(int
相关文章
相关标签/搜索