Shift 연산?

컴퓨터 연산 중에는 shift 연산이 있다. shift 연산이란, 비트 부호를 오른쪽으로 혹은 왼쪽으로 한 칸씩 이동하는 것을 말하는 데, 통상적으로 왼쪽으로 이동하면 x2 의 효과가 나타나고 오른쪽으로 이동하면 /2 의 효과가 나타난다. 이러한 Shift 연산은 두 가지로 나뉘는 데, 그게 바로 Arithmetic shift 와 Logical shift 이다.

 

 

 

Logical Shift 논리적 시프트

왼쪽으로 이동하든 오른쪽으로 이동하든간에 이동이 완료되어서 비어버린 자리에 0을 채워주는 기법을 말한다.

 

 

Arithmatic Shift 산술적 시프트

만약 시프트하려는 수가 Unsigned number, 즉 양수라면 논리적 시프트였을 때와 같이 0을 채워넣어주면 된다. 그러나 만약 시프트하려는 수가 signed number, 즉 음수라면 이야기가 다르다. 음수인 경우, 오른쪽으로 이동한다면 빈 자리에 1을 채워주어야 한다.

+ Recent posts