논리 시프트
1. 개요
논리 시프트는 비트열을 지정된 방향으로 이동시키고 빈 자리를 0으로 채우는 연산이다. 왼쪽 논리 시프트는 비트열을 왼쪽으로 이동시키며, 오른쪽 논리 시프트는 비트열을 오른쪽으로 이동시킨다. 예를 들어, 0001 0111 (23)을 왼쪽으로 1비트 논리 시프트하면 0010 1110 (46)이 되고, 오른쪽으로 1비트 논리 시프트하면 0000 1011 (11)이 된다.
논리 시프트
논리 시프트
| 종류 | 비트 연산 |
|---|---|
| 동작 방식 | 비트들을 지정된 방향으로 이동시킴 |
| 용도 | 부호 없는 정수의 곱셈 및 나눗셈 프로그래밍 언어 및 컴파일러 최적화 |
종류별 상세 정보
| LSHIFT (Left Shift) | 비트들을 왼쪽으로 이동시키고, 오른쪽 빈자리는 0으로 채움 |
|---|---|
| RSHIFT (Right Shift) | 비트들을 오른쪽으로 이동시키고, 왼쪽 빈자리는 0으로 채움 |
📚 더 읽어볼만한 페이지
2. 예시
비트 순서 0001 0111을 1개의 비트 위치에서 논리 시프트를 실행하면 다음과 같다.
| 왼쪽 시프트 | 오른쪽 시프트 |
|---|---|
| 0010 1110 (10진수 46) | 0000 1011 (10진수 11) |
2.1. 왼쪽 논리 시프트
비트열을 왼쪽으로 이동시키고, 빈 자리(최하위 비트, LSB)는 0으로 채우는 연산이다. 예를 들어 0001 0111 (10진수 23)을 왼쪽으로 1비트 논리 시프트하면 0010 1110 (10진수 46)이 된다.