剑指offer 11:二进制中 1 的个数
题目描述
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
解题代码
法一:
public class Solution { public int NumberOf1(int n) { int cnt = 0; while(n != 0){ n &= (n - 1); cnt++; } return cnt; } }
法二:
输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。
法一:
public class Solution { public int NumberOf1(int n) { int cnt = 0; while(n != 0){ n &= (n - 1); cnt++; } return cnt; } }
法二: