Pergunta

Estou criando um visualizador de mochila TF2 em Python e tenho um token de inventário com 32 comprimentos não assinados.Os primeiros 16 bits não são importantes para mim.A abordagem usual em C seria algo como

(a<<16)>>16

para obter os últimos 16 bits.Mas Python não é C e a operação acima não funcionará.Como especifico que Python DEVE usar int32 para esta variável?

Foi útil?

Solução

Você pode usar o operador AND bit a bit (&):

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

Outras dicas

Você pode usar variedade

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

Criará um array de 1 palavra curta não assinada.(Vários anos atrás eu escrevi um driver HW em Python combinando variedade e estrutura

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top