논리 연산
| 01 문서ㄴㄴ 수학과 관련된 것ㅇㄹ 다룹니다. 01 문서ㄴㄴ 수학과 관련된 무언7ㅏ0ㅔ 대해서 다루ㄴㄴ 문서입니다. ㄱㅂ식 수학일 수도 전공 수학일 수도 있고, 혹ㅇㄴ 수학과 관련된 역사속의 인물일지도 모ㄹㅂ니다. 01 문서ㄹㄹ 읽다7ㅏ 수학뽕0ㅔ 빠져버려도 본 위키ㄴㄴ 책임지지 않ㅅㅂ니다. 1 + 1 = 귀요미>_< |
| 이 문서는 이해하기 어려운 대상을 다룹니다. 이 문서는 일반적인 뇌를 가지고도 이해하기 어려운 대상에 대해 다룹니다. 두뇌를 풀가동해도 이해하기 어려울 것입니다. 나 아는사람 강다니엘 닮은 이모가 다시보게되는게 다시 그때처럼 안닮게 엄마보면 느껴지는걸수도 있는거임? |
개요
19세기 중반에 조지 불이라는 사람이 고안한 논리 명제끼리 계산하는 것으로, 불 대수라고도 부른다.
1+1=1이 될 수 있는 기적의 계산법이다. 정확히 말하자면 우리가 아는 덧셈 기호의 용법과 다른 '논리합'이라는 것인데, 후술한다.
자격증 취득할 때 자주 접하게 되는 것으로, 전기 회로부터 코딩까지 다양한 분야에서 반드시 알아야 하는 것이다.
당장 이 위키에서도 #if 문법이나 #expr 문법의 조건식을 작성하려면 불 대수 개념이 필수다.
다들 중학교 수학에서 배웠던 집합의 개념 알지? 그것과 매우 비슷하다.
참과 거짓
논리 명제(불 대수)는 이진법을 사용한다. 즉 0과 1밖에 없다. 이를 '원소'라 부른다.
중딩 때는 명제의 참과 거짓을 p와 ~p라고 배웠을 것이다.
그러나 불 대수에서는 수학식으로 쓸 때 참을 1, 거짓을 0이라 부른다.
| 불 대수의 원소 | ||
|---|---|---|
| 뜻 | 숫자 | 알파벳 |
| 거짓(False) | 0 | F |
| 참(True) | 1 | T |
기초 연산
그렇다면 이번에는 불 대수들이 무슨 연산 기호로 계산되는지 살펴보자.
가장 기초적인 것은
- 부정(¬, NOT)
- 논리곱(∧, AND)
- 논리합(∨, OR)
이 셋이다.
미리 설명하자면 부정은 너네가 아는 '~이/가 아니다'와 같으며, 논리곱 AND는 'A이면서 동시에 B', 논리합 OR는 'A이거나 B'이다.
부정(¬, NOT)
중딩 때 명제 앞에 ~(물결표)를 붙이면서 표현했던 것. 집합에서는 오른쪽 위에 작게 C를 붙여 '여집합'이라고 불렀을 것이다.
말 그대로 명제를 부정하는 식이다. 논리 연산식에서는 ¬를 앞에 붙여 표현할 것이다.
논리가 하나만 있어도 계산이 가능하다. 이를 '단항 연산'이라 부른다.
A라는 참인 명제가 '문재앙은 애미가 없다'라면 A에 부정 연산을 한 ¬A는 거짓인 명제, '문재앙은 애미가 있다'가 되는 것이다.
반대로 거짓인 명제(이재명은 유능하다)라면 부정 연산을 했을 때 참인 명제(이재명은 무능하다)가 나온다.
| NOT(¬) 연산의 결과 | ||
|---|---|---|
| A | ¬ | ¬A |
| 0 | 1 | |
| 1 | 0 | |
숫자로 된 불 대수(0, 1)에 부정 연산을 해서 뒤집힌 숫자(1, 0)를 '보수'라고 부르는데, 이런 연산을 하는 계산기를 '보수기'라고 부른다.
그리고 이진수의 모든 자릿수(비트)에 부정 연산을 해서 나온 수를 '1의 보수', 그 값에 1을 더한 것을 '2의 보수'라고 부른다. 2의 보수는 컴퓨터가 숫자를 음수로 만들 때 활용하는 방식이다.
그런데 이건 아직 이 단계에서 설명하기엔 복잡하므로 생략한다. 코딩에 관심이 많다면 정보처리 관련 자격증 책을 사서 배울 수 있다.