Python Bitwise operator shift

사용 버전: Python 3.7.9

파이썬 bitwise operator shift를 알아보겠습니다.


비트를 다루는 연산자 중에 비트 위치 이동과 관련된 연산자를 다뤄봅시다.
'<<'는 비트를 왼쪽으로 이동시켜 큰 값으로 만들고 '>>'는 비트를 오른쪽으로 이동시켜 작은 값으로 만듭니다.

1 << 2는 1 * 2^2가 됩니다. 따라서 4.
3 << 4는 3 * 2^4가 됩니다. 따라서 48.






수식으로 보면 조금 헷갈리는데, 비트로 보면 쉽습니다.

'0001' << 2 = '0100' 4

'0000 0011' << 4 = '0011 0000' 48




1 >> 2는 1 * 2^-2가 됩니다.  그러면 0.25가 되어야 하지만, 비트를 옮긴다는 것을 보면 왜 0이 되는지 알 수 있습니다.

48 >> 5는 48 * 2^-5가 됩니다. 그러면 1.5가 되어야 하지만, 비트를 옮긴다는 것을 보면 왜 1이 되는지 알 수 있습니다.







'0001' >> 2 = '0000' 0

'0011 0000' >> 5 = '0000 0001' 1



끝.


카테고리: Python, Standard Library

댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

Forensics .pyc 파일 .py로 복구하기

Android Minimum touch target size

KiCad 시작하기 7 (FreeRoute 사용하기 2)

C++ OpenCV 모폴로지 침식, 팽창

Android Notification with Full Screen

tensorflow tf.expand_dims()