
시프트
최근 수정 시각:
자동차 등의 변속기에서 기어를 올리는 경우를 Shift Up이라고 하고, 기어를 내리는 경우 Shift Down이라고 한다.
컴퓨터 프로그래밍에서, 시프트는 2진수를 원하는 비트 수 만큼 왼쪽이나 오른쪽으로 밀어주는 연산자이다.
C/C++/Java/Python에서는 0100 << 1 / 1100 >> 2 과 같이 사용하며 각각의 결과값은 1000 / 0011 이다.
정수 변수에 할당된 메모리 공간을 오버하지 않는다면 2의 n승을 곱셈이나 나눗셈[1] 연산을 한 것과 비슷한 결과값이 나온다.(n은 0이상), n비트 시프트 하는 경우 이동하는 방향 끝부분에서 n비트는 버려지고 반대 끝부분에 n비트가 0으로 추가된다.
C/C++/Java/Python에서는 0100 << 1 / 1100 >> 2 과 같이 사용하며 각각의 결과값은 1000 / 0011 이다.
정수 변수에 할당된 메모리 공간을 오버하지 않는다면 2의 n승을 곱셈이나 나눗셈[1] 연산을 한 것과 비슷한 결과값이 나온다.(n은 0이상), n비트 시프트 하는 경우 이동하는 방향 끝부분에서 n비트는 버려지고 반대 끝부분에 n비트가 0으로 추가된다.
ex3(0011) << 1 = 6(0110) = 3 * (2^1)
3(0011) << 2 = 12(1100) = 3 * (2^2)
3(0011) >> 1 = 1(0001) = 3 / (2^1) (1비트 버려짐)
![]()
이 저작물은 CC BY-NC-SA 2.0 KR에 따라 이용할 수 있습니다. (단, 라이선스가 명시된 일부 문서 및 삽화 제외)
기여하신 문서의 저작권은 각 기여자에게 있으며, 각 기여자는 기여하신 부분의 저작권을 갖습니다.
나무위키는 백과사전이 아니며 검증되지 않았거나, 편향적이거나, 잘못된 서술이 있을 수 있습니다.
나무위키는 위키위키입니다. 여러분이 직접 문서를 고칠 수 있으며, 다른 사람의 의견을 원할 경우 직접 토론을 발제할 수 있습니다.
