-
TIL (보충) 파이썬 비트연산자컴퓨터, AI/(국비) Bio-Health AI 2026. 3. 31. 20:27
비트 연산자
연산자 이름 설명 & AND 두 비트가 모두 1이면 1 | OR 두 비트 중 하나라도 1이면 1 ^ XOR 두 비트가 서로 다르면 1 ~ NOT 비트 반전 (0 ↔1) << Left Shift 비트를 왼쪽으로 이동 (2 곱하기) >> Right Shift 비트를 오른쪽으로 이동 (2 나누기) <사전 지식>
1) 1의 보수 : 비트를 그냥 다 뒤집는다 ( 0→1, 1 →0)
2) 2의 보수 : 1의 보수에 1을 더한것
→ 음수를 양수처럼 더해서 0이 나오게 하자!
→ 2의 보수를 쓰는 이유는 0이 오직 하나로 존재할 수 있기 때문
예시
숫자 13과 숫자 7을 비트로 바꿔서 예시를 들어보겠다.
1) & 연산
숫자 13 (비트 : 1101)
숫자 7 (비트 : 0111)
(두 비트가 모두 1이면 1) → 0101
정답 → 숫자 5
2) | 파이프연산
숫자 13 (비트 : 1101)
숫자 7 (비트 : 0111)
(두 비트 중 하나라도 1이면 1) → 1111
정답 → 숫자 15
3) XOR 연산
숫자 13 (비트 : 1101)
숫자 7 (비트 : 0111)
(두 비트가 서로 다르면 1) → 1010
정답 → 숫자 15
숫자 5 비트 = 00000101
(반전) 11111010
↓맨앞 비트가 1이면 음수다
→ 역순 계산 비트 1을 뺀다
숫자 5 반전비트 1111 1010
비트 1 0000 1001
빼면 1111 1001
뒤집기 0000 0110
→ 숫자 6의 값
→ 맨 앞 비트가 1이면 음수라고 하였기 때문에
→ 최종 정답 : -6
간단하게 계산하기 위한 공식
☑️ ~ n = - ( n + 1 )
4) << 연산
비트를 왼쪽으로 이동 (2 곱하기)
1101
<<11010
정답 26
5) >> 연산
비트를 오른쪽으로 이동 (2 나누기)
1101
>> 110
정답 6
'컴퓨터, AI > (국비) Bio-Health AI' 카테고리의 다른 글
[Day 03, TIL] 파이썬 조건문과 반복문 (0) 2026.04.01 [Day 02, TIL] 파이썬 자료구조 : 데이터를 효율적으로 담는 바구니 (0) 2026.03.30 [Day 01, TIL] 파이썬의 메모리 구조와 객체 지향의 이해 (0) 2026.03.30