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

如何在python中将整数转换为无符号32位?,python,int,bit,unsigned,Python,Int,Bit,Unsigned,例如,如果我们取1并将其转换为无符号32位,它将是00000000000000000000000001 如何在python中实现这一点 bin(1)[2:].zfill(32) “0000000000000000000000000 1” def convert(i): return int(bin(i+2**32)[-32:]) print convert(1) print convert(32) print convert(100) print convert(-1) print

例如,如果我们取
1
并将其转换为无符号32位,它将是
00000000000000000000000001

如何在python中实现这一点

bin(1)[2:].zfill(32)
“0000000000000000000000000 1”

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'>
0000000000000000000000000 1
00000000000000000000000000100000
00000000000000000000000001100100
11111111111111111111111111111111

“{:032b}”。格式(1)
?您的意思是为了显示,还是需要将数字转换为正好32位的类型(例如,将其打包为结构)?您试图解决的问题是什么?请阅读。我需要将其转换为32位。您需要的解决方案是转换,但这不是您试图解决的实际问题。您试图解决的问题可能有其他解决方案。如果不告诉我们为什么要进行这种转换,那么就很难为您提供一个令人满意的(适合您的)解决方案;它实际上并不创建32位整数值。