Boolean Algebra
youngwiki
개요
True를 1로서, False를 0으로 나타내여 Boolean Algebra를 수행할 수 있다.
Bit-level Operation

Bit-level Operation은 두가지 중요한 특징을 가진다.
- 교환법칙(e.g., A & B = B & A)
- 결합법칙(e.g., A & (B & C) = (A & B) & C)
아래의 Bit-level Operation은 bit sequence에도 적용된다.
AND(&)
A와 B 값이 모두 참이면 1(true)을 출력하고 둘 중 하나의 값이라도 거짓이면 0(false)를 출력한다
| A | B | A&B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 0 |
| 1 | 0 | 0 |
| 1 | 1 | 1 |
OR(|)
두 명제 중 어느 한 명제만 참이어도 참값을 돌려준다.
| A | B | A|B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 1 |
NOT(~)
말 그대로 부정(否定)이다. 즉, 참과 거짓을 뒤집는다.
| A | ~A |
|---|---|
| 0 | 1 |
| 1 | 0 |
베타적 논리합, XOR(^)
두 명제 중 정확히 하나만 참이어야, 혹은 두 명제의 참거짓 여부가 다를 때 참값을 돌려준다.
| A | B | A^B |
|---|---|---|
| 0 | 0 | 0 |
| 0 | 1 | 1 |
| 1 | 0 | 1 |
| 1 | 1 | 0 |
Logical Operation
Bit-level Operation과는 구분된다. 0를 False로, 그 외 나머지를 True로 간주하여 연산의 결과는 항상 0 혹은 1이 된다.
여담
C에서 피연산자
long, int,short, char 자료형 변수
들은 bit vector로 간주된다. 이런 피연산자들의 연산에 bit-level operation이 사용된다.