颠倒给定的 32 位无符号整数的二进制位。
class Solution {
/*
使用二进制的算术左移和右移
*/
public:
uint32_t reverseBits(uint32_t n)
{
uint32_t ans = 0;
for(int i = 0; i < 32; ++i)
{
// n & 1 这句话表示 取出 n 的最后一位
ans <<= 1; // ans 左移一位
ans += (n & 1); // ans 加上 n 的最后一位
n >>= 1; // n 右移一位
}
return ans;
}
};