IFP 겨울방학 스터디 | 코드업 기초 100제 (6)

유재우·2022년 1월 23일
0

IFP-겨울방학 스터디

목록 보기
25/38

6. 기초-비트 시프트 연산


  • 정수 1개를 입력받아 2배 곱해 출력해보자.
    내 풀이)
twice = int(input())
print(twice*2)

강의 풀이)

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

풀이가 틀리진 않았지만 이진수를 왼쪽으로 한 번씩 이동시켜주면 기존 값의 두 배가 된다.
ex) 5(101) => 10(1010), 7(111) => 14(1110)


  • 정수 2개(a, b)를 입력받아 a를 2(b 제곱)배 곱한 값으로 출력해보자. ( a * 2(b 제곱) )
    내 풀이)
a, b = map(int, input().split())
print(a*2^b)

거듭제곱의 연산자는 ** 이므로 a*2**b로 계산을 해야한다.
강의 풀이)

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

2(b제곱)은 이진수로 b번 이동 시켜주는 것과 같기 때문에 a<<b로 계산이 된다.

profile
끝없이 탐구하는 iOS 개발자 유재우입니다!

0개의 댓글