如对于00001,反转后变为10000。这里同样使用二进制的移位操作比较方便。
unit32_t reverseBits(unit32_t n)
{
unit32_t j = 0;
for (int i = 0; i < 32; i++)
{
j=j << 1; //j左移,右边补0
j = j | (n & 1); //与n的最低位取或操作
n=n >> 1; //n右移
}
return j;
}