颠倒给定的 32 位无符号整数的二进制位。
来源:力扣(LeetCode)。
uint32_t
reverseBits(uint32_t n)
{
uint32_t ans = 0;
for (int i = 0; i < 32&&n > 0; ++i)
{
ans = (ans << 1) + (n >> i & 1);
}
// ans << 1 表示左移一位
// n >> i & 1 表示获取第i位的值
return ans;
}