python - 변환 - 파이썬 unsigned




파이썬에서 부호있는 부호없는 정수로 변환하는 방법 (2)

내가이 숫자를 가지고 있다고 가정 해 봅시다. i = -6884376 . 서명되지 않은 변수를 참조하려면 어떻게해야합니까? C에서 (unsigned long)i 와 같은 것.


C 캐스트에 해당하는 값을 얻으려면 비트 마스크와 적절한 마스크를 사용하십시오. unsigned long 가 32 비트 인 경우 :

>>> i = -6884376
>>> i & 0xffffffff
4288082920

또는 64 비트 인 경우 :

>>> i & 0xffffffffffffffff
18446744073702667240

C에서 값을 얻을 수는 있지만 여전히 부호가있는 값이므로 이후의 계산 결과가 부정적인 결과를 가져올 수 있으므로 마스크를 적용하여 32 또는 64를 시뮬레이트해야합니다. 비트 계산.


파이썬에는 서명되지 않은 타입이 내장되어 있지 않습니다. 수학 연산을 사용하여 C에서 얻을 수있는 값을 나타내는 새로운 int를 계산할 수 있지만 파이썬 int의 "부호없는 값"은 없습니다. Python int는 고정 바이트 크기 정수에 직접 액세스하지 않고 정수 값을 추상화 한 것입니다.





signed