问题的提出
给定一个无符号32位整数,要求将其2进制形式数反转(即首尾颠倒,非按位取反),输出反转后的整数。 即如果给定的数:43261596,它的二进制数为:00000010100101000001111010011100,将二进制数反转得到:00111001011110000010100101000000,所以期望的输出结果应该为:964176192
问题的解决
下面是Python版本的解答程序
def reverseBit(dat):
res =
0
for i
in range(
0,
32,
1):
res = res <<
1
res = res | (dat &
1)
dat = dat >>
1
return res
if __name__ ==
'__main__':
print reverseBit(
43261596)
打印输出结果为:
964176192
转载请注明原文地址: https://ju.6miu.com/read-1296005.html