본문 바로가기
자료구조 & 알고리즘/CodeUp Python 기초 100제

[CodeUp Python 기초 100제] # 47번_2의 거듭제곱 배로 곱해 출력하기

by ge_ai 2022. 4. 18.

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 = input().split()
a = int(a)
b = int(b)
print(a<<b)

 

 

 

 

[추가 설명]

더보기
컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에,
2진수 형태로 저장되어 있는 값들을 왼쪽(<<)이나 오른쪽(>>)으로
지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어드는데,

왼쪽 비트시프트(<<)가 될 때에는 오른쪽에 0이 주어진 개수만큼 추가되고,
오른쪽 비트시프트(>>)가 될 때에는 왼쪽에 0(0 또는 양의 정수인 경우)이나 1(음의 정수인 경우)이 개수만큼 추가되고,
가장 오른쪽에 있는 1비트는 사라진다.

댓글