이것 만으로 형변환이 된다. C 하던 사람들은 ..으..응? 할 것이다.
a = a & 0xffffffff
다른 걱정 아니고 고급 언어가 친절함을 발동하여 어디선가 또 1비트 까먹고 오락가락 하는 거 아닌가 하는 의심을 해서 그렇다.
웃긴게 파이썬 공식 문서에서 print %u는 의미 없다고 써 있다. %d로 찍어도 된다고 하는데 %d의 설명은 부호있는 정수형이라고 써 있다.
이제 C 하던 사람은 헷갈린다. ㅎㅎㅎㅎ
그냥 인본주의식으로 생각하면 된다.
%d로 찍어도 32비트 최대값 잘 찍힌다.
맨 위에 적은 코드 만으로 형변환이 끝난다. 아마도 파이썬의 정수형이 다른 고급 언어들의 그것처럼 부속 메타를 줄줄 담고 있는 듯 하다.
>>> a = -2
>>> a = a & 0xffffffff
>>> a
4294967294
>>> print ('%x' % a)
fffffffe