연세대 디지털논리회로 프로젝트 (QM method 구현하기)
- 최초 등록일
- 2021.12.12
- 최종 저작일
- 2021.07
- 11페이지/ MS 워드
- 가격 10,000원
목차
없음
본문내용
Q_M(variables, minterms)
Q_M 함수는 변수 문자열과 minterm 리스트를 입력으로 받아 Quine-McCluskey Method를 수행하는 함수이다. 작성된 알고리즘을 예시와 함께 살펴보자.
Ex) variables = ‘abcd’, minterms = [0 1 2 5 6 7 8 9 10 14] 입력
Line 6: 우선 3, 4, 5변수 함수들을 각각 구분하기 위해 입력된 변수의 개수를 var_num에 저장한다.
Ex) var_list = len(‘abcd’) = 4 저장
Line 8: DtoB 함수를 통해 입력된 minterm들을 binary notation으로 바꾸어 bin_list에 저장한다.
여기서 DtoB 함수는 다음과 같다.
1. DtoB(var_num, int_list)
이 함수는 10진수 리스트를 2진수 리스트로 변환해주는 함수이다.
Line 3~6: 입력된 minterm들을 for문과 bin() 함수를 통해 binary number로 바꾸어준다. 이때 bin() 함수의 return값으로 binary number 앞에 ‘0b’가 붙어서 나오므로 slicing을 하여 저장한다. 또한 binary number의 bit 수가 변수의 개수보다 적은 경우 while문을 통해 앞에 0을 추가한다.
Ex) var_num = 3, int_list = minterms = [0 1 2 5 6 7 8 9 10 14] 입력됨
for문에 따라, bin(0) = ‘0b0’ → bin(0)[2:] = ‘0’ → while문에 따라 ‘0000’ → bin_list에 추가
위와 같은 방식으로 모든 minterm들을 binary number로 바꾼다.
∴ DtoB(var_num, minterms)
>>> ['0000', '0001', '0010', '0101', '0110', '0111', '1000', '1001', '1010', '1110']
참고 자료
없음