[검은 제안을 의미] 이진수의 1의 수 (문제를 해결하기위한 비트 산술)

함수를 구현하고 정수 (이진 문자열 형식)를 입력하고 숫자의 이진 표현으로 1의 수를 출력하십시오. 예를 들어 9를 이진수로 표현하면 1001이고 2 비트는 1입니다. 따라서 9를 입력하면 함수가 2를 출력합니다.

예 1 :

입력 : 00000000000000000000000000001011
출력 : 3
설명 : 입력 이진 문자열 00000000000000000000000000001011에서 총 3 비트는 '1'입니다.

예 2 :

입력 : 00000000000000000000000010000000
출력 : 1
설명 : 입력 이진 문자열 00000000000000000000000010000000에서 총 1 비트는 '1'입니다.

예 3 :

입력 : 11111111111111111111111111111101
출력 : 31
설명 : 입력 바이너리 문자열 11111111111111111111111111111101에서 총 31 비트는 '1'입니다.

 

문제 해결:

public class Solution {
    // you need to treat n as an unsigned value
    public int hammingWeight(int n) {
        int res=0;
        while(n!=0){
            res+=1&n;
           n= n>>>1;
        }
        return res;
}
}

 

추천

출처blog.csdn.net/qq_44624536/article/details/114298083