If lv stores a long value, and the machine is 32 bits, the following code:
iv = int(lv & 0xffffffff)
results an iv of type long, inst
Can I suggest this:
def getSignedNumber(number, bitLength): mask = (2 ** bitLength) - 1 if number & (1 << (bitLength - 1)): return number | ~mask else: return number & mask print iv, '->', getSignedNumber(iv, 32)