如何在 python 中将整数转换为无符号 32 位?

How to convert integer to unsigned 32 bit in python?

例如,如果我们将1转换为无符号的32位,它将是00000000000000000000000000000001

你是如何在 python 中做到这一点的?

bin(1)[2:].zfill(32)

'00000000000000000000000000000001'

def convert(i):
    return int(bin(i+2**32)[-32:])

print convert(1)
print convert(32)
print convert(100)
print convert(-1)
print type(convert(1))

产出

00000000000000000000000000000001
00000000000000000000000000100000
00000000000000000000000001100100
11111111111111111111111111111111
<type 'long'>