将一个正整数,转换成二进制,然后颠倒顺序,再输出成十进制。模拟题。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
|
class Solution {
public:
uint32_t reverseBits(uint32_t n) {
//To binary
vector<int> nums(32, 0);
int index = 0;
while(n > 0)
{
nums[index++] = n % 2;
n /= 2;
}
uint32_t ans = 0;
for (int i = 0; i < nums.size(); i++)
{
ans += nums[i] * (uint32_t)pow(2.0, (int)(nums.size() - i - 1));
}
return ans;
}
};
|