如何将返回值截断为32位?我有以下代码,
def rotate_left(input, shift):
return hex((input << shift) | (input >> (32 - shift)))
我希望返回值为
在调用"0x000000A"
时, "0xA0000000A"
代替rotate_right(0xA000000)
答案 0 :(得分:4)
0xFFFFFFFF是32位,所以只是二进制,它就是......
my_num& 0xFFFFFFFF
答案 1 :(得分:0)
如果您希望一般地这样做,而不仅仅是32位:
def truncate(val, numbits):
return val & (2**numbits - 1)
之所以有效,是因为2**numbits -1
的二进制全为1。