您的位置:首页 > 其它

leetcode : reverse Bits

2015-04-11 21:16 357 查看
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).

Follow up:

If this function is called many times, how would you optimize it?

Related problem: Reverse Integer

------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

code:

unsigned reverseBits(unsigned int n) {
unsigned m = 0;
for (int i = 0; i<32; i++)
{
m = m << 1; //m左移
m = m | (n & 1); // m加上末位数
n = n >> 1; // n右移
}
return m;
}
eg: n = 1101时:

n: 1101—>0110—>0011—>0001—>0000

m: (0000—>0001)—>(0010—>0010)—>(0100 —>0101)—> (1010—>1011)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: