파이썬 비트연산자 활용
조회수 1216회
라이브러리를 공부하다가
while i != 0:
result.append(i & 0xFF)
i >>= 8
라는 부분을 발견했습니다.
파이썬에서 >>
는 비트연산자로서 오른쪽으로 시프트를 하는 연산자라는 것을 확인했습니다.
하지만 제가 알고 있는 비트연산자는
100 >> 2
= 오른쪽으로 2칸만큼 시프트
100 << 4
= 왼쪽으로 4칸만큼 시프트
로 사용하는 것으로 알고 있습니다만 해당 코드는 뭘 위해서 쓴건지 잘 모르겠습니다.
그냥 명령어로 입력할 경우 Syntax Error가 발생됩니다.
3234234 >>=8
>>> SyntaxError: can't assign to literal
해당 라이브러리를 똑같이 복사하여 print를 찍어보았습니다.
i = 1241535
while i!=0:
result.append(i&0xFF)
print(i)
i>>=8
print(i)
print('-------------')
1241535
4849
-----------
4849
18
----------
18
0
---------
숫자가 줄어드는 것으로 보면 시프트를 일으키는거 같은데
저 >>=
가 정확히 뭘 하는 건지 궁금합니다..
혹시 설명이나 관련 자료같은게 있으시다면 조언부탁드립니다.
감사합니다.
댓글 입력