프로그래밍 문제 풀이/코드업(파이썬)

코드업[CodeUp] Python 기초 100제 [6047번]

태은코딩 2023. 12. 20. 21:53

6047 : [기초-비트시프트연산] 2의 거듭제곱 배로 곱해 출력하기(설명)(py)

입력값
정수 2개(a, b)가 공백을 두고 입력된다.
0 <= a, b <= 10
출력값
a 를 2의b제곱 배 만큼 곱한 값을 출력한다.

 

입력 예시
1 3
출력 예시
8

 

정답 및 가능한 정답

a,b=map(int,input().split())
print(a<<b)
a,b=map(int,input().split())
print(a*(2**b))

해설

비트 시프트 연산자
<< : 모든 비트를 지정한 수만큼 왼쪽으로 이동. 이동된 비트 자리에는 0으로 채워짐(비트 1번 이동 당 2배)
>> : 모든 비트를 지정된 수만큼 오른쪽으로 이동. 밀려난 오른쪽 비트는 삭제됨. (비트 1번당 1/2배, 나머지는 사라짐)
ex) 13>>2는 3
(0b1101  -> 0b11)
ex) 13<<2는 52
(0b1101 -> 0b110100)

이 문제에서는 a를 2의 b제곱만큼 곱하라고 했으니 a의 비트를 b번 왼쪽으로 이동시키면 된다.
print(a<<b)