디지털 논리 회로(Digital Logic Circuit)

yurimLee·2022년 12월 29일
0

🎇 논리 회로(Digital Logic Circuit)란?

컴퓨터는 0, 1 두 개의 숫자로 구성된 숫자 체계를 가지는데, 이를 비트(bit) 또는 2진수(binary digit)라고 한다.
(참고로 2진법(binary notation)은 0, 1 두 개의 숫자만을 이용하여 수를 나타내는 방법이고, 2진수는 2진법으로 나타낸 수이다.)
때문에 컴퓨터 내부에서 처리되는 모든 데이터는 2진수로 전기적 표현되어 처리된다.
이때 논리 회로는 컴퓨터 내부에서 전기적 신호 0, 1로 동작하는 전자 회로이다.
게이트(gate)는 일반적으로 2개 이상의 입력 단자와 1개의 출력 단자를 가지는데, 논리 회로는 논리 게이트를 조합하여 논리식을 표현한다.

🎇 불 대수(boolean algebra)

수학자 불(Boole)이 만들어낸 것으로, 참(True)과 거짓(False) 값만 가지는 논리값이다.
bool( )을 이용하면 정수값 0은 거짓(False)으로 평가되고, 그 외의 값들은 모두 참(True)로 평가된다.

n = int(input())
print(bool(n))

1. 논리곱 (AND Gate)

[진리표]

ABX
000
010
100
111
a, b = input().split()
print(bool(int(a)) and bool(int(b)))

2. 논리합 (OR Gate)

[진리표]

ABX
000
011
101
111
a, b = input().split()
print(bool(int(a)) or bool(int(b)))

3. 논리부정 (NOT Gate)

[진리표]

AX
01
00
a = bool(int(input()))
print(not a)

4. 배타적 논리합 (Exclusive OR Gate / XOR Gate)

[진리표]

ABX
000
011
101
110
a, b = map(bool, map(int, input().split()))
print((a and (not b)) or ((not a) and b))

5. NAND 게이트 (NAND Gaye)

[진리표]

ABX
001
011
101
110
a, b = map(bool, map(int, input().split()))
print(False) if a == True and b == True else print(True)

6. NOR 게이트 (NOR Gate)

[진리표]

ABX
001
010
100
110
a, b = map(bool, map(int, input().split()))
print(True) if a == False and b == False else print(False)

7. Exclusive NOR 게이트 (X NOR Gate)

[진리표]

ABX
001
010
100
111
a, b = map(bool, map(int, input().split()))
print(a == b)

출처
https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=asd7979&logNo=30105701505

0개의 댓글