题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
分类:数学
解法1:对于某个数n,n与(n-1)取与运算,可以消除最后一个1
[java]
view plain
copy
public class Solution { public int NumberOf1(int n) { int count = 0; while(n!=0){ n=(n&(n-1)); count++; } return count; } }
原文链接 http://blog.csdn.net/crazy__chen/article/details/44986501