- Full-adder
- 반가산기를 조합하여 여러 자리수의 계산이 가능하다.
반가산기
- 한자리 수에 대해 합(sum)과 올림자(carry)를 구한다.
- 합(sum) = A XOR B
- 올림자(carry) = A AND B
- 반가산기 문서 보기
전가산기 논리식
- 숫자 A, 숫자 B, 올림자 C에 대하여
- 합(sum) = (A XOR B) XOR C
- 올림자(carry) = (A AND B) OR ((A XOR B) AND C)
합(sum)
- 반가산기에서 A와 B의 합을 XOR로 표현한것과 마찬가지로, A와 B의 합에 올림자 C를 한번더 XOR연산 해준다.
- (A XOR B) XOR C
올림자(carry)
- 전 연산에서 carry가 발생하였는지, 이번 연산에서 carry가 발생 할 것인지 모두 고려해야 한다.
- 이번 연산으로Carry가 발생하는가
- A AND B
- 이번 연산의 결과와 저번 연산의 Carry가 더해져서 Carry가 발생하는가
- (A XOR B) AND C
- 1번과 2번의 경우 모두 carry가 발생하므로, 두 조건을 AND로 묶어준다.
- (A AND B) OR ((A XOR B) AND C)
회로도
- 전가산기는 반가산기 2개와 하나의 OR 게이트로 구현된다.