6046 : [기초-비트시프트연산] 정수 1개 입력받아 2배 곱해 출력하기(설명)(py)
입력값 |
정수 한 개가 입력된다. 단, -1073741824 ~ +1073741823 |
출력값 |
2배 곱한 정수를 출력한다. |
입력 예시 |
1024 |
출력 예시 |
2048 |
정답 및 가능한 정답
a=int(input())
print(a<<1)
해설
비트 시프트 연산자
<< : 모든 비트를 지정한 수만큼 왼쪽으로 이동. 이동된 비트 자리에는 0으로 채워짐(비트 1번 이동 당 2배)
>> : 모든 비트를 지정된 수만큼 오른쪽으로 이동. 밀려난 오른쪽 비트는 삭제됨. (비트 1번당 1/2배, 나머지는 사라짐)
ex) 13>>2는 3
(0b1101 -> 0b11)
ex) 13<<2는 52
(0b1101 -> 0b110100)
그래서 이 문제에서 2배를 하라고 했으니 비트를 1번 왼쪽으로 이동시키면 된다.
print(a<<1)