Pregunta

Estoy creando un visor de mochila TF2 en Python y tengo un token de inventario de 32 longitudes sin firmar.Los primeros 16 bits no son importantes para mí.El enfoque habitual en C sería algo así como

(a<<16)>>16

para obtener los últimos 16 bits.Pero Python no es C y la operación anterior no funcionará.¿Cómo especifico que Python DEBE usar int32 para esta variable?

¿Fue útil?

Solución

Puede utilizar el operador AND bit a bit (&):

>>> 0x12345678 & 0xffff
22136
>>> hex(_)
'0x5678'

Otros consejos

Puede usar Array

array.array('H', [10])

creará una matriz de 1 palabra corta sin firmar.(Hace varios años, he escrito un controlador HW en Python combinando Array y struct

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top