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 };

 

相关文章:

  • 2022-01-01
  • 2021-06-24
  • 2021-12-11
  • 2021-12-04
  • 2022-01-07
  • 2021-07-22
  • 2022-12-23
  • 2022-12-23
猜你喜欢
  • 2022-03-01
  • 2021-07-14
  • 2021-11-17
  • 2022-12-23
  • 2021-06-22
相关资源
相似解决方案