반응형
a = 5 # 이진수 : 0101 = 0000 ... 0101
b = 4 # 이진수 : 0100
print(~a) # 출력 : -6 = 1111 ....1010
print(a << 3) # 출력 : 40
print(a >> 3) # 출력 : 0
print(a & b) # 출력 : 4 = 0100
print(a | b) # 출력 : 5 = 0101
print(a ^ b) # 출력 : 1 = 0001 (XOR)
print(1 % 5) # 출력 : 1
print(1 / 5) # 출력 : 0.2
print(1 // 5) # 출력 : 0
~a라는 것은 a의 이진수를 반전 시킨 것인데요 0을 1로 1을 0으로 바꾼 거죠 그래서 나온 결과가 -6이 됩니다.
a << 3 에서 <<는 *를 의미한다고 생각하시면 됩니다. 그리고 3이라고 적힌 숫자는 2^3입니다.
즉 5 * 2^3이 되는 것이죠
a >> 3 에서 >>는 / 입니다. 즉 5 / 2^3을 의미합니다.
&는 AND입니다. 즉 5인 0101 과 4인 0100 에서 1이 공통적으로 들어가는 0100이 만들어지게 됩니다.
|은 OR입니다. 즉 5인 0101 과 4인 0100 에서 1이 하나라도 들어가면 인정해서 0101이 만들어지게 됩니다.
^는 XOR입니다. 즉 5인 0101 과 4인 0100 에서 0 과 1이 만나야 1로 인정해서 0001이 만들어집니다.
파이썬에서 %는 나머지를 구하는 연산자입니다.
/ 는 진짜 나눠서 나오는 값을 의미하고
// 는 몫을 의미합니다.
좀 헷갈릴 수 있습니다. 다른 언어에서는 // 는 주석처리로 되어버리니깐요
반응형
'파이썬 (추후 수정)' 카테고리의 다른 글
파이썬 format (0) | 2021.07.18 |
---|---|
파이썬 For문 (0) | 2021.07.18 |
파이썬 If문 (0) | 2021.07.18 |
파이썬 문자열 (0) | 2021.07.17 |
파이썬 List(리스트) (0) | 2021.07.17 |