How to get the signed integer value of a long in python?

后端 未结 6 1796
攒了一身酷
攒了一身酷 2020-12-08 15:40

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

6条回答
  •  醉酒成梦
    2020-12-08 15:57

    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)
    

提交回复
热议问题