728x90
비트시프트연산자는 2진수에서 자리수 이동을 계산해준다.
십진수로 5인 '0101'에 '<<1' 연산을 하면 자리수를 왼쪽으로 한칸씩 이동해 십진수 10인 '1010'이 된다.
위 문제의 그림을 보면 이해하기 쉽다. '<<n'이면 n번 왼쪽으로 이동한다.
따라서 2배 곱한 정수를 출력하기 위해 '<<1'연산을 하면 된다.
테스트 케이스 결과:
오른쪽 비트시프트 '>>'는 연산자 좌측 값에 '*1/2' 연산을 우측 값만큼 한다고 생각할 수 있는데,
위 문제 그림에 마지막 a>>2 를 보면 뒤에 이진수 '10'이 밀려난 것을 볼 수 있다.
소수점으로 판단해 '0.5'로 생각할 수도 있는데 결과가 '2'인 것으로 보아 시프트 연산으로 밀려난 1 미만의 부분은 폐기되는 것으로 보인다.
반응형
'Algorithm > CodeUp - Python' 카테고리의 다른 글
기초 100제 - 1049 : [기초-비교연산] 두 정수 입력받아 비교하기1(설명) (0) | 2019.12.10 |
---|---|
기초 100제 - 1048 : [기초-비트시프트연산] 한 번에 2의 거듭제곱 배로 출력하기(설명) (0) | 2019.12.10 |
기초 100제 - 1046 : [기초-산술연산] 정수 3개 입력받아 합과 평균 출력하기 (0) | 2019.12.10 |
기초 100제 - 1045 : [기초-산술연산] 정수 2개 입력받아 자동 계산하기 (0) | 2019.12.09 |
기초 100제 - 1044 : [기초-산술연산] 정수 1개 입력받아 1 더해 출력하기(설명) (0) | 2019.12.09 |