描述
一个32位有符号整数,用二进制编码来表示。现需要将该二进制编码按位反转,计算出反转后的值。
示例1
输入:
1
返回值:
-2147483648
说明:
00000000 00000000 00000000 00000001
翻转后为
10000000 00000000 00000000 00000000
cpp
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param n int整型
* @return int整型
*/
int reverseBits(int n) {
// write code here
int res = 0;
for(int i = 0; i < 32; i++)
{
res <<= 1;
res |= (n & 1);
n >>= 1;
}
return res;
}
};