在Python中重新解释签名长期未签名

时间:2012-04-11 14:33:35

标签: python

msgpack将64位号码解包为已签名;如何将其重新解释为无符号?

2 个答案:

答案 0 :(得分:3)

怎么样

if x < 0:
   x += 2 ** 64

或者,如果你喜欢有点唠叨,

x &= 2 ** 64 - 1

答案 1 :(得分:2)

你的意思是这样的吗?

>>> struct.unpack('L', struct.pack('l', -2235234523))
(18446744071474317093L,)