LeetCode:Reverse Bits

来源:互联网 发布:node mysql query 编辑:程序博客网 时间:2024/05/06 16:55

以前单纯看书看到位运算符的时候头都大,最近关注LeetCode才有了更清晰的体会。practice makes perfect!

class Solution {public:    uint32_t reverseBits(uint32_t n) {//unint32_t的库文件是stdint.h        uint32_t result;        int i;        int a;        result=0;        int flag=1;//增加一个标记位,用来记录是否是第一位数,如果是,则直接赋值给result,否则result左移一位之后加1        for(i=0;i<32;i++)        {           if(n&1<<i)                a=1;           else                a=0;           if(flag==1)           {               result=a;               flag=0;           }           else             result=(result<<1)+a;//坑爹的优先级,想了半天想不通的时候为啥不加括号的时候结果不对        }        return result;    }};


0 0