웹사이트 검색

Python의 논리 게이트 - 초보자를 위한 가이드


이 기사는 Python의 다양한 논리 게이트를 포괄적으로 다룹니다. 논리 게이트는 디지털 부품을 구현하기 위한 가장 기초적인 소재입니다. 논리 게이트의 사용 범위는 컴퓨터 아키텍처에서 전자 분야에 이릅니다.

이 게이트는 0 또는 1의 이진 값을 처리합니다. 다른 유형의 게이트는 다른 수의 입력을 받지만 모두 단일 출력을 제공합니다. 결합될 때 이러한 논리 게이트는 복잡한 회로를 형성합니다.

Python 언어로 논리 게이트를 구현해 봅시다.

Python의 기본 논리 게이트

회로 개발에는 세 가지 가장 기본적인 논리 게이트가 있습니다.

OR 게이트

이 게이트는 입력 중 하나가 1이면 출력을 1로 제공합니다. 이진수와 관련하여 "덧셈\ 연산과 유사합니다.

위에 표시된 표는 진리표입니다. OR 게이트에 대한 입력 값의 모든 조합을 표시하는 데 사용됩니다. 표 옆의 그림은 OR 게이트를 나타냅니다.

파이썬으로 구현:

# Function to simulate OR Gate
def OR(A, B):
	return A | B	

print("Output of 0 OR 0 is", OR(0, 0))
print("Output of 0 OR 1 is", OR(0, 1))
print("Output of 1 OR 0 is", OR(1, 0))
print("Output of 1 OR 1 is", OR(1, 1))	

다음과 같은 결과를 얻습니다.

Output of 0 OR 0 is 0
Output of 0 OR 1 is 1
Output of 1 OR 0 is 1
Output of 1 OR 1 is 1

AND 게이트

이 게이트는 입력 중 하나가 0이면 0의 출력을 제공합니다. 이 연산은 이진수의 곱셈으로 간주됩니다.

진리표에서 두 입력 중 하나가 0이면 출력도 0임을 알 수 있습니다. 옆 그림은 AND 게이트를 나타냅니다.

파이썬으로 구현:

# Function to simulate AND Gate
def AND(A, B):
	return A & B	

print("Output of 0 AND 0 is", AND(0, 0))
print("Output of 0 AND 1 is", AND(0, 1))
print("Output of 1 AND 0 is", AND(1, 0))
print("Output of 1 AND 1 is", AND(1, 1))	

산출:

Output of 0 AND 0 is 0
Output of 0 AND 1 is 0
Output of 1 AND 0 is 0
Output of 1 AND 1 is 1

NOT 게이트

이 게이트는 주어진 입력의 부정을 제공합니다. 이 게이트는 단일 입력만 지원합니다.

위의 표는 비트 반전을 명확하게 보여줍니다. 인접한 그림은 NOT 게이트를 나타냅니다.

바이너리 NOT Gate의 Python 구현:

# Function to simulate NOT Gate
def NOT(A):
	return ~A+2	

print("Output of NOT 0 is", NOT(0))
print("Output of NOT 1 is", NOT(1))

산출:

Output of NOT 0 is 1
Output of NOT 1 is 0

참고: NOT() 함수는 비트 값 0과 1에 대해 올바른 결과를 제공합니다.

Python의 범용 논리 게이트

NANDNOR의 두 가지 범용 논리 게이트가 있습니다. 이러한 게이트만 사용하여 부울 회로를 구현할 수 있기 때문에 범용이라고 합니다.

낸드 게이트

NAND 게이트는 AND 게이트와 NOT 게이트의 조합입니다. AND 게이트와 반대로 두 비트가 모두 설정된 경우에만 0을 출력하고 그렇지 않으면 1을 출력합니다.

Python에서 NAND() 함수는 이전에 생성한 AND()OR() 함수를 사용하여 구현할 수 있습니다.

# Function to simulate AND Gate
def AND(A, B):
	return A & B;	

# Function to simulate NOT Gate
def NOT(A):
	return ~A+2	

# Function to simulate NAND Gate
def NAND(A, B):
	return NOT(AND(A, B))


print("Output of 0 NAND 0 is", NAND(0, 0))
print("Output of 0 NAND 1 is", NAND(0, 1))
print("Output of 1 NAND 0 is", NAND(1, 0))
print("Output of 1 NAND 1 is", NAND(1, 1))	

다음과 같은 결과를 얻습니다.

Output of 0 NAND 0 is 1
Output of 0 NAND 1 is 1
Output of 1 NAND 0 is 1
Output of 1 NAND 1 is 0

NOR 게이트

NOR 게이트는 OR 게이트 다음에 NOT 게이트가 계단식으로 이어진 결과입니다. OR 게이트와 달리 모든 입력이 0일 때 1을 출력합니다.

NAND() 함수와 유사하게 NOR()는 이미 생성된 함수를 사용하여 구현할 수 있습니다.

# Function to calculate OR Gate
def OR(A, B):
	return A | B;	

# Function to simulate NOT Gate
def NOT(A):
	return ~A+2	

# Function to simulate NOR Gate
def NOR(A, B):
	return NOT(OR(A, B))


print("Output of 0 NOR 0 is", NOR(0, 0))
print("Output of 0 NOR 1 is", NOR(0, 1))
print("Output of 1 NOR 0 is", NOR(1, 0))
print("Output of 1 NOR 1 is", NOR(1, 1))	

산출:

Output of 0 NOR 0 is 1
Output of 0 NOR 1 is 0
Output of 1 NOR 0 is 0
Output of 1 NOR 1 is 0

Python의 독점 논리 게이트

개별 값이 아닌 0 또는 1의 입력 수에 초점을 맞추는 두 가지 특별한 유형의 논리 게이트인 XOR 및 XNOR가 있습니다.

XOR 게이트

Exclusive-OR의 약어인 XOR 게이트는 입력의 1이 홀수일 때 1을 출력합니다.

위 표에서 XOR 게이트의 출력을 명확하게 볼 수 있습니다. 입력의 1이 홀수인 경우 1의 출력을 제공합니다.

다음과 같이 Python에서 XOR() 함수를 쉽게 구현할 수 있습니다.

# Function to simulate XOR Gate
def XOR(A, B):
	return A ^ B

print("Output of 0 XOR 0 is", XOR(0, 0))
print("Output of 0 XOR 1 is", XOR(0, 1))
print("Output of 1 XOR 0 is", XOR(1, 0))
print("Output of 1 XOR 1 is", XOR(1, 1))	

다음과 같은 결과를 얻습니다.

Output of 0 XOR 0 is 0
Output of 0 XOR 1 is 1
Output of 1 XOR 0 is 1
Output of 1 XOR 1 is 0

XNOR 게이트

XORNOT 게이트의 조합 결과로 형성됩니다. XOR과 반대로 입력의 1이 짝수일 때 1을 출력합니다.

XNOR() 함수는 Python에서 XOR()NOT() 함수를 사용하여 구현할 수 있습니다.

# Function to simulate XOR Gate
def XOR(A, B):
	return A ^ B

# Function to simulate NOT Gate
def NOT(A):
	return ~A+2	

# Function to simulate XNOR Gate
def XNOR(A, B):
	return NOT(XOR(A, B))


print("Output of 0 XNOR 0 is", XNOR(0, 0))
print("Output of 0 XNOR 1 is", XNOR(0, 1))
print("Output of 1 XNOR 0 is", XNOR(1, 0))
print("Output of 1 XNOR 1 is", XNOR(1, 1))	

산출:

Output of 0 XNOR 0 is 1
Output of 0 XNOR 1 is 0
Output of 1 XNOR 0 is 0
Output of 1 XNOR 1 is 1

결론

Python에서 논리 게이트를 구현하는 것은 매우 쉽습니다. 프로그래머는 Python의 논리 게이트와 연산자를 알고 있어야 합니다. 이 기사가 Python에서 논리 게이트의 기본 및 실행에 대해 독자를 일깨웠기를 바랍니다.

자세한 내용은 다른 Python 자습서를 확인하십시오.