题目描述:将32的整数按照比特位反转,返回反转后的整数;
解题思路:将数字n右移,并与1相与&得到这一位的数字x,将返回值左移加上x,循环32位即可。
class Solution {
public:
uint32_t reverseBits(uint32_t n)
{
uint32_t ret = 0;
for(int i = 0; i < 32; i++)
{
ret = (ret << 1) + (n & 1);
n = n >> 1;
}
return ret;
}
};