2007년01월28일 59번
[디지털공학] 다음 회로도에서 입력이 A 와 B 일때 계산결과의 차 D(difference) 및 빌림수 b(borrow)의 논리식은?

-
①
-
②
-
③
-
④
(정답률: 60%)
문제 해설
입력 A와 B가 더해지는데, 빌림수가 있을 수 있으므로 전가산기(Full Adder)를 사용한다. 전가산기는 입력 A, B, Carry-in(Cin)을 받아서 합(Sum)과 Carry-out(Cout)을 출력한다.
먼저, D(difference)를 구하기 위해서는 A와 B의 차이를 구해야 한다. A와 B의 차이는 A-B 이므로, 전가산기의 입력으로 A, B의 보수(1의 보수)를 입력하고, Carry-in에 1을 입력한다. 이렇게 하면 전가산기의 합(Sum)은 A의 보수와 B를 더한 값이 되고, Carry-out(Cout)는 1이 된다. 따라서 D는 Sum의 보수(1의 보수)가 된다.
다음으로, 빌림수 b(borrow)를 구하기 위해서는 A와 B 중에서 어느 수가 큰지를 판단해야 한다. A가 B보다 크거나 같으면 빌림수가 필요하지 않으므로 b는 0이 된다. 그러나 A가 B보다 작으면 B에서 A를 뺄 때 빌림수가 필요하므로 b는 1이 된다. 이를 판단하기 위해서는 A와 B의 차이인 D의 최상위 비트(MSB)를 확인하면 된다. D의 MSB가 1이면 A가 B보다 작으므로 b는 1이 되고, D의 MSB가 0이면 A가 B보다 크거나 같으므로 b는 0이 된다.
따라서, D(difference)와 b(borrow)의 논리식은 다음과 같다.
- D = ~(A ⊕ B ⊕ Cin)
- b = A'B + AB' = A'B + AB
먼저, D(difference)를 구하기 위해서는 A와 B의 차이를 구해야 한다. A와 B의 차이는 A-B 이므로, 전가산기의 입력으로 A, B의 보수(1의 보수)를 입력하고, Carry-in에 1을 입력한다. 이렇게 하면 전가산기의 합(Sum)은 A의 보수와 B를 더한 값이 되고, Carry-out(Cout)는 1이 된다. 따라서 D는 Sum의 보수(1의 보수)가 된다.
다음으로, 빌림수 b(borrow)를 구하기 위해서는 A와 B 중에서 어느 수가 큰지를 판단해야 한다. A가 B보다 크거나 같으면 빌림수가 필요하지 않으므로 b는 0이 된다. 그러나 A가 B보다 작으면 B에서 A를 뺄 때 빌림수가 필요하므로 b는 1이 된다. 이를 판단하기 위해서는 A와 B의 차이인 D의 최상위 비트(MSB)를 확인하면 된다. D의 MSB가 1이면 A가 B보다 작으므로 b는 1이 되고, D의 MSB가 0이면 A가 B보다 크거나 같으므로 b는 0이 된다.
따라서, D(difference)와 b(borrow)의 논리식은 다음과 같다.
- D = ~(A ⊕ B ⊕ Cin)
- b = A'B + AB' = A'B + AB
연도별
- 2016년04월02일
- 2016년01월24일
- 2015년10월10일
- 2015년04월04일
- 2015년01월25일
- 2014년10월11일
- 2014년04월06일
- 2014년01월26일
- 2013년10월12일
- 2013년04월14일
- 2013년01월27일
- 2012년10월20일
- 2012년04월08일
- 2012년02월12일
- 2011년02월13일
- 2010년03월28일
- 2010년01월31일
- 2009년03월29일
- 2009년01월18일
- 2008년10월05일
- 2008년02월03일
- 2007년01월28일
- 2006년10월01일
- 2005년04월03일
- 2005년01월30일
- 2004년10월10일
- 2004년04월04일
- 2004년02월01일
- 2003년10월05일
- 2003년03월30일
- 2003년01월26일
- 2002년10월06일
- 2002년04월07일
- 2002년01월27일