1. 程式人生 > >11.二進制中1的個數

11.二進制中1的個數

ber div pre ++ sub 二進制中1的個數 tle desc 其中

題目描述

輸入一個整數,輸出該數二進制表示中1的個數。其中負數用補碼表示。

題目解答

public class Solution {
    public int NumberOf1(int n) {
        int count=0;
        while(n!=0){
            count++;
            n=n&(n-1);
        }
        return count;
    }
}

舉例:

1100

1100-1=1011

1100&1011=1000,count+1

有多少個1,就能&多少次(相同為1)

11.二進制中1的個數