标签: python numbers bit signed
我有一个数字,我从I2C总线上的寄存器中读取。这是一个16位有符号数,但Python无法识别符号位并将其用作数字的一部分。如何只读取数字的MSB,然后从数字中删除它?
答案 0 :(得分:0)
value = 0xFFFF msb = 1 if value | 0x8000 else 0 value &= 0x7FFF print('msb: {}, value: 0x{:X}'.format(msb, value)) # msb: 1, value: 0x7FFF