728x90
반응형

6046 : [기초-비트시프트연산] 정수 1개 입력받아 2배 곱해 출력하기(설명)(py) 

시간 제한: 1 Sec  메모리 제한: 128 MB

 

 

문제 설명

정수 1개를 입력받아 2배 곱해 출력해보자.

 

 

입력

정수 한 개가 입력된다.
단, -1073741824 ~ +1073741823

 

 

출력

2배 곱한 정수를 출력한다.

 

 

입력 예시

1024

 

 

출력 예시

2048

 

 

내 소스

a=int(input())
print(a<<1)

 

 

모범 소스

n = int(input())
print(n<<1)

 

 

참고

*2 를 계산한 값을 출력해도 되지만,
정수를 2배로 곱하거나 나누어 계산해 주는 비트단위시프트연산자 <<, >>를 이용할 수 있다.
컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에,
2진수 형태로 저장되어 있는 값들을 왼쪽(<<)이나 오른쪽(>>)으로
지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어드는데,

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

+ Recent posts