Reverse bits of a given 32 bits unsigned integer.
For example, given input 43261596 (represented in binary as 00000010100101000001111010011100), return 964176192 (represented in binary as 00111001011110000010100101000000).
Follow up:
If this function is called many times, how would you optimize it?
Related problem: Reverse Integer
简单题,思路就是左移1位,如果左移出来的是1,那么假如原来表示的是2的2次方,reversed bits要表示的就是2的19次方(31-2)
那么循环32次,把所有的位读取完毕就好了。
ps:今天第一次8点到实验室。来一道简单的题目宽慰鼓励我吗?gogo fighting~
1 class Solution { 2 public: 3 uint32_t reverseBits(uint32_t n) { 4 int temp=0,result=0; 5 for(int i=0;i<32;i++){ 6 if(n&1==1) temp=pow(2,31-i); 7 else temp=0; 8 result+=temp; 9 n>>=1; 10 } 11 return result; 12 } 13 };