문제
나는 Python에서 TF2 배낭 뷰어를 만들고 있으며, 32 개의 서명되지 않은 인벤토리 토큰이 있습니다.처음 16 비트는 나를 위해 중요하지 않습니다.C의 일반적인 접근 방식은
와 같은 것입니다.(a<<16)>>16
.
지난 16 비트를 얻으려면.그러나 파이썬은 C가 아니며 위의 작업이 작동하지 않습니다.파이썬 이이 변수에 대해 Int32를 사용해야 하는지를 어떻게 지정합니까?
해결책
비트 및 연산자 (&
)를 사용할 수 있습니다.
>>> 0x12345678 & 0xffff
22136
>>> hex(_)
'0x5678'
. 다른 팁
를 사용할 수 있습니다.
array.array('H', [10])
.
는 1 개의 부호없는 짧은 단어의 배열을 만듭니다.(몇 년 전 나는 배열을 결합한 Python에서 HW 드라이버를 썼습니다. 및
제휴하지 않습니다 StackOverflow