public static int getBitCount(int n) ...{ int count = 0; boolean isNegative = false; if(n < 0) ...{ n = -n; isNegative = true; } while (n > 0) ...{ count+=(n & 1); n>>=1; } return isNegative ? count + 1 : count; }方案2:public static int getBitCount(int n) ...{ int count = 0; while (n != 0) ...{ count+=(n & 1); n>>>=1; } return count; }