a,b = map(int,input().split())
print(a%b)
a= float(input())
print(format(a,".2f"))
a,b=map(float,input().split())
c=a/b
print(format(c,".3f"))
a,b=map(int,input().split())
print(a+b)
print(a-b)
print(a*b)
print(a//b)
print(a%b)
print(format(a/b,".2f"))
a,b,c =map(int,input().split())
plus = a+b+c
avr = (a+b+c)/3
print(plus,format(avr,".2f"))
a =int(input())
print(a<<1)
a,b = map(int,input().split())
print(a<<b)
a,b = map(int,input().split())
print(a<b)
a,b = map(int,input().split())
print(a==b)
a,b = map(int,input().split())
print(a<=b)
몫(/)
a,b = map(int,input().split())
print(a/b)
나머지(%)
a,b = map(int,input().split())
print(a%b)
round
round(실수,표시할 자리수)
format
format(실수,".표시할자리수f")
비트연산자표
| |비트연산자 | 설명 |
|:---:|:---------:|:-------------------------:|
|1|~|비트를 1로, 1이면 0으로 반전시킴.(비트 NOT 연산자)|
|2|&|대응되는 비트가 모두 1이면 1을 반환함(비트 AND 연산자)|
|3|||대응되는 비트 중에서도 하나라도 1이면 1을 반환함(비트 OR 연산자)|
|4|^|대응되는 비트가 서로 다르면 1을 반환함.(비트 XOR 연산자)|
|5|<<|지정한 수만큼 비트들을 전부 왼쪽으로 이동시킴(비트 left 연산자)|
|6|>>|지정한 수만큼 비트들을 전부 오른쪽으로 이동시킴(비트 right 연산자)|
비트연산자로 곱셈하기
*2 를 계산한 값을 출력해도 되지만, 정수를 2배로 곱하거나 나누어 계산해 주는 비트단위시프트연산자 <<, >>를 이용할 수 있다.
컴퓨터 내부에는 2진수 형태로 값들이 저장되기 때문에, 2진수 형태로 저장되어 있는 값들을 왼쪽(<<)이나 오른쪽(>>) 으로 지정한 비트 수만큼 밀어주면 2배씩 늘어나거나 1/2로 줄어든다.
왼쪽 비트시프트(<<)가 될 때에는 오른쪽에 0이 주어진 개수만큼 추가되고, 오른쪽 비트시프트(>>)가 될 때에는 왼쪽에 0(0 또는 양의 정수인 경우)이나 1(음의 정수인 경우)이 개수만큼 추가되고, 가장 오른쪽에 있는 1비트는 사라진다.
예시
n = 10
print(n<<1) #10을 2배 한 값인 20 이 출력된다.
print(n>>1) #10을 반으로 나눈 값인 5 가 출력된다.
print(n<<2) #10을 4배 한 값인 40 이 출력된다.
print(n>>2) #10을 반으로 나눈 후 다시 반으로 나눈 값인 2 가 출력된다.
정수 10의 2진수 표현은 ... 1010 이다.
10 << 1 을 계산하면 ... 10100 이 된다 이 값은 10진수로 20이다.
10 >> 1 을 계산하면 ... 101 이 된다. 이 값은 10진수로 5이다.
n = 10 과 같이 키보드로 입력받지 않고 직접 작성해 넣은 코드에서, 숫자로 시작하는 단어(식별자, identifier)는 자동으로 수로 인식된다.
거듭제곱 만들기
a=2
b=10
print(a<<b) //2^10 = 1024