颠倒二进制位

2018-09-12  本文已影响0人  小白学编程

颠倒给定的 32 位无符号整数的二进制位。

示例:

输入: 43261596
输出: 964176192
解释: 43261596 的二进制表示形式为 00000010100101000001111010011100 ,
返回 964176192,其二进制表示形式为 00111001011110000010100101000000 。

uint32_t reverseBits(uint32_t n) {
        int i=1;
        int c=31;
        uint32_t sum=0;
        while(c>=0){
            if((n&i)==0){
                sum+=0*pow(2,c);
            }else{
                sum+=1*pow(2,c);
            }
       
            i=(i<<1);
            c--;
        }
        return sum;
}
上一篇 下一篇

猜你喜欢

热点阅读