Problema inverso de operación de bits de Python
Los enteros de Python 3 están en incrementos de 16 bits.
0xf0 =0b 0000 0000 1111 0000?
Después de ~0xf0 obtenemos 1111 1111?0000 1111
[1][111 1111?0000 1111]
Puedes estar seguro de que es negativo número, y hay Un número negativo es igual al inverso de su valor absoluto más uno. Encuentra la forma de complemento a dos.
El valor absoluto menos uno es: 111 1111?0000 1110
El código inverso es: 000 0000 1111 0001
Obtienes -0xf1 que es -241 (tu~ a[0] obtiene -241)
Requiere [0, 256), simplemente limita el rango. gt;gt;gt;?(~a[0])amp;0xff
15