Skip to Content
독학사독학사 2단계논리회로01. 논리회로를 위한 최소 수학: 집합·명제·논리함수

이번 문서의 목표: 이 파일을 다 읽으면 논리회로 교재·기출문제에 나오는 집합 기호, 참·거짓을 다루는 명제라는 말, 그리고 F(A, B, C) 같은 논리함수 표기를 보고 당황하지 않고 바로 읽어낼 수 있다.

왜 수학 이야기부터 시작하는가

논리회로(logic circuit)는 전자공학처럼 보이지만, 독학사 2단계 시험이 실제로 묻는 것은 회로 자체가 아니라 그 회로를 표현하는 수학적 언어입니다. 진리표(truth table)를 채우고, 카르노맵(Karnaugh map)에서 항을 묶고, 상태도(state diagram)를 그리는 모든 작업은 결국 “참(true)과 거짓(false)이라는 두 가지 값만 갖는 변수들의 관계를 표기법으로 옮기는 일”입니다. 이 표기법의 뿌리에 집합(set)과 명제(proposition)가 있습니다.

이 과목은 고등학교 수학 수준(집합·진리표 정도)만 가정하고 설계되었지만, 시험에서는 이 기초 표기를 이미 아는 것으로 놓고 곧바로 진법·불 대수로 들어갑니다. 그래서 이 편에서 집합·명제·논리함수라는 세 가지 최소 도구를 먼저 정리해, 02편부터 이어지는 모든 편에서 표기 때문에 막히는 일이 없게 합니다.

쉽게 말하면: 이 편은 논리회로라는 외국어를 읽기 전에 배우는 “알파벳”입니다. 알파벳 자체는 쉬워도, 모르면 뒤의 모든 문장을 못 읽습니다.

1. 집합과 원소 표기 — 논리회로가 값을 담는 그릇

집합(set, 명확한 기준으로 모을 수 있는 대상들의 모임)은 논리회로에서 “이 변수가 가질 수 있는 값의 범위”를 표현할 때 쓰입니다. 집합에 속한 개별 대상을 원소(element)라고 부르고, 원소 a가 집합 S에 속한다는 것은 aSa \in S로 씁니다(읽는 법: “a는 S의 원소이다”).

논리회로에서 가장 자주 등장하는 집합은 딱 하나, 논리값의 집합입니다.

{0,1}\{0, 1\}

이 집합은 원소가 두 개뿐인 집합으로, 논리회로의 모든 변수·신호는 이 두 값 중 하나만 가질 수 있다는 뜻입니다. 이 사실 하나가 이후 모든 편(진법 변환, 불 대수, 플립플롭 상태)의 전제가 됩니다.

집합을 표기하는 두 가지 방법도 짚어 둡니다.

  • 원소나열법: 원소를 중괄호 안에 직접 나열합니다. 예: 십진수 한 자리 숫자의 집합은 {0,1,2,3,4,5,6,7,8,9}\{0, 1, 2, 3, 4, 5, 6, 7, 8, 9\}로 씁니다.
  • 조건제시법: “어떤 조건을 만족하는 원소들의 모임”으로 씁니다. 예: “0 이상 9 이하의 정수 전체”라는 조건으로 위와 같은 집합을 표현할 수 있습니다.

집합 사이의 관계 중 시험에서 쓰이는 것은 부분집합(subset) 하나면 충분합니다. 집합 A의 모든 원소가 집합 B에도 속하면 AB의 부분집합이라 하고 ABA \subseteq B로 씁니다. 예를 들어 이진수 자릿값의 집합 {0,1}\{0, 1\}은 십진수 자릿값의 집합 {0,1,2,...,9}\{0, 1, 2, ..., 9\}의 부분집합입니다. 이 관계는 02편에서 “왜 2진수 한 자리가 표현할 수 있는 정보가 10진수 한 자리보다 적은가”를 설명할 때 다시 쓰입니다.

쉽게 말하면: 집합은 “허용된 값만 모아 둔 상자”입니다. 논리회로의 상자에는 딱 두 개, 0과 1만 들어 있습니다.

자주 틀리는 점: {0,1}\{0, 1\}이라는 집합과 “0 또는 1이라는 값 하나”를 혼동하는 경우가 있습니다. 집합은 “가능한 값의 범위를 정의한 것”이고, 그 집합에서 실제로 뽑아낸 값 하나(예: 지금 이 신호선의 값은 1이다)는 원소입니다. 진리표를 읽을 때 “이 변수는 {0,1}\{0, 1\}의 원소 중 하나의 값을 갖는다”는 문장이 나오면 당황하지 말고 “이 변수는 0 아니면 1이다”로 바로 바꿔 읽으면 됩니다.

2. 명제와 논리값 — 참·거짓을 다루는 문장

명제(proposition)는 참인지 거짓인지가 명확하게 판별되는 문장입니다. “2는 짝수이다”는 참인 명제이고, “2는 홀수이다”는 거짓인 명제입니다. 반면 “오늘 날씨가 좋다”는 사람마다 판단이 달라질 수 있으므로 명제가 아닙니다.

명제가 참인지 거짓인지를 나타내는 값을 논리값(truth value) 또는 진리값이라 하며, 논리회로·컴퓨터 공학에서는 관습적으로 다음과 같이 숫자로 대응시킵니다.

논리값의미대응하는 명제 상태
1 (또는 T, True)명제가 성립함
0 (또는 F, False)거짓명제가 성립하지 않음

이 대응이 바로 “왜 컴퓨터가 참·거짓을 0과 1로 다루는가”에 대한 답입니다. 명제 하나하나는 사람의 언어이지만, 그 명제의 논리값은 숫자 0 또는 1로 표현할 수 있고, 이 숫자는 전자회로에서 전압의 높낮이 두 단계로 물리적으로 구현할 수 있습니다(전압과 논리값의 관계는 04편에서 자세히 다룹니다).

여러 개의 명제를 연결해 새로운 명제를 만들 수도 있습니다. 예를 들어 “2는 짝수이다”와 “3은 홀수이다”를 “그리고”로 연결하면 “2는 짝수이고 3은 홀수이다”라는 새 명제가 되며, 두 명제가 모두 참이므로 이 합성 명제도 참입니다. 이렇게 명제를 연결하는 규칙(그리고, 또는, 아니다)이 바로 3편에서 다룰 논리 연산(AND, OR, NOT)의 뿌리입니다.

쉽게 말하면: 명제는 “참·거짓을 매길 수 있는 문장”이고, 논리값은 그 문장에 붙이는 성적표(1점 또는 0점)입니다.

자주 틀리는 점: 명제 자체와 논리값을 같은 것으로 착각하면 안 됩니다. “2는 짝수이다”는 명제(문장)이고, 그 명제의 논리값은 1(참)입니다. 논리회로 문제에서 변수 A가 등장할 때 A는 사실 “어떤 명제가 참인지 아닌지”를 대표하는 기호이며, A가 갖는 값(0 또는 1)이 그 명제의 논리값입니다.

3. 논리함수와 변수 표기법 — 시험 지문을 읽는 표준 방식

명제 여러 개(또는 논리값을 갖는 변수 여러 개)를 조합해서 하나의 논리값을 결과로 내놓는 규칙을 논리함수(logic function) 또는 불 함수(Boolean function)라고 합니다. 논리회로 시험은 거의 전부 이 논리함수를 다루는 문제입니다.

논리함수는 일반 수학 함수와 똑같은 표기 관습을 씁니다.

F(A,B,C)F(A, B, C)
  • F: 함수의 이름. 결과값(출력)을 대표하는 기호로도 함께 쓰입니다.
  • A, B, C: 입력 변수(input variable). 각각 0 또는 1의 값을 가지며, 괄호 안의 순서는 이후 진리표를 만들 때 행의 순서를 정하는 기준이 됩니다.
  • 함수 전체 F(A,B,C)F(A, B, C)A, B, C의 값 조합에 따라 0 또는 1 중 하나의 값을 내놓습니다.

변수가 n개이면 각 변수가 0 또는 1의 두 가지 값을 가질 수 있으므로, 가능한 입력 조합의 수는 2n2^n개입니다. 예를 들어 변수가 3개(AA, BB, CC)이면 조합의 수는 다음과 같습니다.

23=82^3 = 8

이 8가지 조합 각각에 대해 함수의 출력값(0 또는 1)을 표로 나열한 것이 바로 진리표(truth table)이며, 진리표를 채우고 읽는 구체적인 방법은 03편에서 다룹니다. 여기서는 “논리함수는 입력 변수 조합 하나당 출력값 하나를 대응시키는 규칙이고, 변수가 n개면 조합은 2n2^n개다”라는 뼈대만 확실히 잡아 둡니다.

변수 이름을 정하는 관습도 시험 지문을 빠르게 읽는 데 도움이 됩니다.

표기 관습의미예시
대문자 알파벳(A, B, C, …)개별 입력 변수A, B, C
아래첨자가 붙은 문자(X0X_0, X1X_1)같은 종류의 변수가 여러 개일 때 순서 구분X0X_0, X1X_1, X2X_2 (읽는 법: 엑스 영, 엑스 일, 엑스 이)
FF, YY, ZZ함수(출력)의 이름F(A,B)=...F(A, B) = ...
문자 위에 가로줄(overline)그 변수의 부정(NOT), 즉 값을 뒤집은 것A\overline{A} (읽는 법: A 바, A가 0이면 1, A가 1이면 0)

마지막 행의 오버라인 표기(A\overline{A})는 이번 편에서 기호만 먼저 소개합니다. 이 기호가 실제로 어떤 연산(NOT, 부정)을 뜻하는지, 왜 이런 모양으로 쓰는지는 바로 다음 03편에서 진리표와 함께 다룹니다.

쉽게 말하면: F(A,B,C)F(A, B, C)는 “A, B, C라는 세 개의 스위치 상태를 넣으면 F라는 결과 스위치의 상태를 알려주는 기계”라고 생각하면 됩니다. 스위치가 3개면 켜고 끄는 조합은 23=82^3 = 8가지입니다.

자주 틀리는 점: 변수의 개수와 조합의 개수를 헷갈리는 경우가 많습니다. “변수가 4개”라는 말은 조합이 4가지라는 뜻이 아니라 24=162^4 = 16가지라는 뜻입니다. 시험 문제가 “입력 변수 4개인 함수의 진리표는 몇 행인가”를 물으면 반드시 2n2^n 공식으로 계산해야 하며, 변수 개수를 그대로 답으로 쓰는 것은 흔한 오답 패턴입니다.

핵심 정리

  • 논리회로의 모든 값은 원소가 두 개뿐인 집합 {0,1}\{0, 1\} 안에서만 움직인다.
  • 명제는 참·거짓이 명확한 문장이고, 그 참·거짓을 숫자로 옮긴 것이 논리값(1=참, 0=거짓)이다.
  • 논리함수 F(A,B,C)F(A, B, C)는 입력 변수들의 값 조합마다 출력값 하나를 대응시키는 규칙이며, 변수가 n개이면 가능한 조합은 2n2^n개다.
  • A\overline{A}는 변수 A의 부정(NOT)을 나타내는 표기로, 구체적 연산은 03편에서 다룬다.

마무리 복습

문제 14지선다
논리회로에서 신호나 변수가 가질 수 있는 값의 범위를 집합으로 나타낼 때 가장 알맞은 것은?
문제 24지선다
다음 중 명제로 볼 수 있는 문장은?
문제 34지선다
논리값과 명제의 관계를 설명한 것으로 가장 적절한 것은?
문제 44지선다
논리함수 F(A, B, C, D)에서 입력 변수 조합의 총 개수는?
문제 54지선다
변수 A 위에 가로줄을 그은 오버라인 표기(A bar)가 뜻하는 것은?
문제 64지선다
집합 A가 집합 B의 부분집합(A는 B에 포함됨)이라는 것을 올바르게 설명한 것은?

참고 자료

Last updated on