思路:以循环的方式,不断的把最后一位前进相应的位数,再进行相加
public class Solution {
// you need treat n as an unsigned value
public int reverseBits(int n) {
int ans = 0;
int item = n;
for (int i = 1 ; i <33 ; i ++)
{
ans += (item & 1) << (32-i);//取最后一位左移相应的位数,加上去
item = item >> 1;//然后向右移一位
}
return ans;
}
}