Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as00111001011110000010100101000000).
方法:直接进行位操作,从末尾开始,一个一个移入return的变量里边,每次对return的变量进行左移位操作。
class Solution {
public:
uint32_t reverseBits(uint32_t n) {
uint32_t res=0;
int i=0;
while(i++<32)
{
res=res<<1;
res+=n%2;
if(n>0)
n=n>>1;
}
return res;
}
};原文:http://blog.csdn.net/u013861066/article/details/46334489