标签:
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).
1 class Solution { 2 public: 3 uint32_t reverseBits(uint32_t n) { 4 uint32_t tmp =0; 5 uint32_t remainder = 0; 6 int cnt =0; 7 while(n) { 8 remainder = n%2; 9 tmp = tmp*2 +remainder; 10 n /= 2; 11 ++cnt; 12 } 13 cnt = 32 - cnt; 14 while(cnt) { 15 tmp *=2; 16 --cnt; 17 } 18 return tmp; 19 } 20 };
标签:
原文地址:http://www.cnblogs.com/ittinybird/p/4373402.html