해당 포스팅은 컴퓨터 사이언스 부트캠프 with 파이썬(양태환 저)를 보고 공부하며 개인적인 용도를 위해 정리한 글이다.
컴퓨터 내부의 언어 체계
언어란? 기호의 집합으로 인코딩encoding 된 것을 당사자들간 모두 같은 문맥context 로 의사소통하는 것
비트bit
- binary + digit 의 합성어
- 0, 1 을 나타내는 이진법 사용
- 기호는 주관적이므로 켜짐 / 꺼짐, 낮 / 밤 등이 될 수 있다
논리연산logical operation
- 다른 비트들이 표현하는 내용으로부터 새로운 비트를 만들어내는 동작
불리언 대수boolean
- 비트에 사용할 수 있는 연산 규칙의 집합
일반 대수와 마찬가지로 결합 법칙, 교환 법칙, 분배 법칙 등을 적용 가능
- NOT: 논리적 반대를 의미, 참 -> 거짓, 거짓 -> 참으로 연산
- AND: 둘 이상의 비트에 작용
- 연산의 대상이 되는 비트 참 인 경우에만 참
- OR: 둘 이상의 비트에 작용
- 연산의 대상이 되는 비트 중 하나라도 참인 경우에 참
- XOR (ExclusiveOR): 둘 이상의 비트에 작용
- 연산이 되는 대상의 비트 중 하나 이상의 비트가 참일 때 참
- 연산이 되는 대상의 비트 중 모든 비트가 참인 경우엔 거짓
XOR 연산은 (a OR b) AND (NOT(a AND b)) 로 만들 수 있다
드모르간의 법칙
- 불리언 대수에 적용할 수 있는 법칙
a | b | a AND b | NOT a | NOT b | NOT a OR NOT b | NOT (NOT a OR NOT b) |
---|---|---|---|---|---|---|
F | F | F | T | T | T | F |
F | T | F | T | F | T | F |
T | F | F | F | T | T | F |
T | T | T | F | F | F | T |
위 표에서 봤을 때 AND
연산 또한 NOT
과 OR
을 이용해 만들 수 있다
드모르간 법칙은 입력받은 비트의 연산을 최소화하기 위해서 사용될 수 있다