[기초-비트시프트 연산]
CodeUp 문제집
문제

기억할 문법 및 문제
- 6046
: 정수를 2배로 곱하거나 나누어 계산해 주는 비트단위시프트연산자 <<, >>를 이용할 수 있다.
: 컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에, 2진수 형태로 저장되어 있는 값들을 왼쪽(<<)이나 오른쪽(>>)으로 지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어든다.
ex)
n = 10
print(n<<1) #10을 2배 한 값인 20 이 출력된다.
print(n>>1) #10을 반으로 나눈 값인 5 가 출력된다.
print(n<<2) #10을 4배 한 값인 40 이 출력된다.
print(n>>2) #10을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력된다.
-6047
: 거듭제곱

a 를 2^b배 만큼 곱한 값을 출력한다.
a, b=input().split()
print(int(a)<<int(b))
[기초-비교연산]
[기초-논리연산]
기억할 문법 및 문제
- 6046
- 6052
: 정수인지 아닌지 True/False로 평가해줌
n=int(input())
print(bool(n))
- 6053
:정수값이 입력될 때, 그 불 값을 반대로 출력하는 프로그램을 작성
: not 연산자를 사용!
n=bool(int(input()))
print(not n)
- 6054
: and 연산자
bool(int(a)) int에 bool을 감싸서 해줘야함.
a, b=input().split()
print(bool(int(a))and bool(int(b)))
a, b = input().split()
c=bool(int(a))
d=bool(int(b))
print((c and (not d)) or ((not c) and d))
코드
Git

