컴퓨터공학 💻 도서관📚
파이썬 비트시프트 연산자 간단 사용법 본문
n << m : n * (2의 m승)
n >> m : n / (2의 m승)
컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에,
2진수 형태로 저장되어 있는 값들을 왼쪽(<<)이나 오른쪽(>>)으로
지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어드는데,
왼쪽 비트시프트(<<)가 될 때에는 오른쪽에 0이 주어진 개수만큼 추가되고,
오른쪽 비트시프트(>>)가 될 때에는 왼쪽에 0(0 또는 양의 정수인 경우)이나
1(음의 정수인 경우)이 개수만큼 추가되고, 가장 오른쪽에 있는 1비트는 사라진다.
예시
n = 10
print(n<<1) #10을 2배 한 값인 20 이 출력된다.
print(n>>1) #10을 반으로 나눈 값인 5 가 출력된다.
print(n<<2) #10을 4배 한 값인 40 이 출력된다.
print(n>>2) #10을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력된다.
정수 10의 2진수 표현은 ... 1010 이다.
10 << 1 을 계산하면 ... 10100 이 된다 이 값은 10진수로 20이다.
10 >> 1 을 계산하면 ... 101 이 된다. 이 값은 10진수로 5이다. (000...1010 --> 000...0101)
'💻☕프로그래밍 언어 > Python' 카테고리의 다른 글
파이썬 연산자 '/' 와 '//' 의 차이 (0) | 2024.11.19 |
---|---|
파이썬 List Comprehension (리스트 컴프리헨션) (0) | 2024.11.12 |
파이썬 리스트 슬라이싱 간단 정리 (0) | 2024.11.12 |
파이썬 range() 함수 간단 정리 (0) | 2024.11.10 |
파이썬 if not 간단 정리 (0) | 2024.11.01 |
Comments