숫자와 문제 해결 방안의 Leetcode 201 비트 단위 범위와 C를 구현 ++

면책 조항 :이 문서는 블로거 원본입니다은 허용 블로거없이 복제 할 수 없다. https://blog.csdn.net/gjh13/article/details/90733575

방법 1 :

문제 해결 아이디어 :

이 질문은, 사실, 공통 부분의 앞 32 비트 이진수의 m과 n, 0으로 채워 다음 뒷면을 찾을 수 있습니다. 후자의 위치에 있기 때문에, 소정 수 k, m이 있어야 <= K <= N, 및 32 비트 이진수 k는 그 위치에서 0이고, 다음 비트가 행해진 후, 그것은에 0이다.

class Solution {
public:
    int rangeBitwiseAnd(int m, int n) {
        int tmp = 0;
        while(m != n){
            m = m >> 1;
            n = n >> 1;
            tmp++;
        }
        return m << tmp;
    }
};

 

 

추천

출처blog.csdn.net/gjh13/article/details/90733575