leetcode 201. 数字范围按位与

leetcode 201. 数字范围按位与_第1张图片

	class Solution {
public:
    int rangeBitwiseAnd(int m, int n) {
      int rec=0;
      for(int i=0;m!=n;i++)
      {
       
        m>>=1;
        n>>=1;//把两个数字同时右移,如果最高位位数相同就会留下最高为,如果位数不同必定会是0;因为从低位开始&,m++会造成进位   
                  //
        rec++;
        if(m==0)return 0;//提前特判;当m==0时说明m已经移位完了,此时n的位数大于m结果一定是0;因为m++到n会把所有位数清0;
      }
     return n<

你可能感兴趣的:(位运算)