Ch.1 AI와 프로그래밍의 만남

논리게이트 — AND, OR, NOT

AND, OR, NOT 논리게이트의 작동 원리를 이해한다논리게이트로 덧셈을 구현하는 원리를 파악한다

트랜지스터 몇 개로 덧셈을 할 수 있다?

트랜지스터 하나는 0과 1을 만들 뿐입니다. 하지만 2~3개를 조합하면 논리 연산이 가능합니다.

단순한 스위치가 어떻게 계산을 해낼까?

AND, OR, NOT — 모든 계산의 기본 벽돌입니다.


article

핵심 내용

AND, OR, NOT 트랜지스터로 만드는 논리 연산

AND: 둘 다 1이어야 1

OR: 하나만 1이면 1

NOT: 0↔1 반전

AND와 XOR를 조합하면 1비트 덧셈이 가능합니다

전가산기 32개를 연결하면 32비트 정수 덧셈기 이것이 ALU(산술논리장치)의 핵심

AND, OR, NOT을 Python 함수로 직접 만들어봅시다

# 논리게이트를 Python으로 직접 구현!

def AND(a, b):
    return 1 if (a == 1 and b == 1) else 0

def OR(a, b):
    return 1 if (a == 1 or b == 1) else 0

def NOT(a):
    return 1 if a == 0 else 0

def XOR(a, b):
    return 1 if a != b else 0

# 진리표 출력
print("=== AND 게이트 ===")
for a in [0, 1]:
    for b in [0, 1]:
        print(f"  {a} AND {b} = {AND(a, b)}")

print("\n=== OR 게이트 ===")
for a in [0, 1]:
    for b in [0, 1]:
        print(f"  {a} OR  {b} = {OR(a, b)}")

# 🎯 반가산기: XOR + AND로 1비트 덧셈!
print("\n=== 반가산기 (1비트 덧셈) ===")
for a in [0, 1]:
    for b in [0, 1]:
        s = XOR(a, b)     # 합 (Sum)
        c = AND(a, b)     # 올림 (Carry)
        print(f"  {a} + {b} = 합:{s} 올림:{c}")

AND 게이트에 입력 A=1, B=0을 넣으면 출력은?

OR 게이트에 입력 A=0, B=0을 넣으면 출력은?

NOT 게이트는 입력값을 반대로 뒤집는다

논리게이트

key

핵심 용어

📝

0 + 0

= 0 (올림 없음)

📝

0 + 1

= 1 (올림 없음)

📝

1 + 0

= 1 (올림 없음)

⬆️

1 + 1

= 10 (올림 발생!)

edit_note

정리 노트

논리게이트 — AND, OR, NOT

3가지 기본 논리게이트

AND
두 입력이 모두 1이어야 출력 1 (둘 다 참일 때만)
OR
입력 중 하나만 1이면 출력 1 (하나라도 참이면)
NOT
입력을 반전 — 0→1, 1→0

논리게이트로 계산하기

XOR
두 입력이 다를 때 1 — 1비트 덧셈의 핵심
전가산기
AND + XOR 조합으로 올림(carry) 포함 덧셈 구현
ALU
전가산기 32개 연결 → 32비트 정수 덧셈기 (산술논리장치)

모든 복잡한 계산도 결국 AND, OR, NOT의 조합 — 논리게이트가 컴퓨터의 벽돌!

image

시각 자료

다이어그램: py-scene-logic-gates
check_circle

핵심 정리

  • 1AND·OR·NOT → 논리 연산의 기본 단위
  • 2논리게이트 조합 → 덧셈기 → ALU

퀴즈와 인터랙션으로 더 깊이 학습하세요

play_circle인터랙티브 레슨 시작