201. Bitwise AND of Numbers Range

201. Bitwise AND of Numbers Range

输入int类型的两个数 m和n,求他们范围内数字的位与运算的结果

m一直增长到n,无论怎么与,只要它们不相等,中间一定存在奇数和偶数,相与过后的位一定为0,因此n相对m左对齐的相同部分才可能出现1

int rangeBitwiseAnd(int m, int n) {
    int f=0;
    while(m!=n) {
        m>>=1;
        n>>=1;
        ++f;
    }
    return m<<f;
}

#位运算