출처 : https://it-eldorado.tistory.com/19
출처 : https://wpaud16.tistory.com/160
가장 기본적인 이진 덧셈기. 두 개의 입력 (0 또는 1)을 받아들이고, 이들을 더하여 합과 자리 올림 값을 출력한다. 예를 들어, 1+1을 더할 때, 반가산기는 합을 0으로 출력하고, 자리 올림(carry) 값을 1로 출력한다. 자리 올림 값은 해당 자리에서 다음 자리로 전달된다.
각각 하나의 bit인 A와 B를 더해서, Sum과 Carry를 출력하는 조합논리회로
- 자바스크립트로 반가산기 구현해보기
function halfAdder(a, b) { var sum = a ^ b; // XOR 연산으로 합을 계산 var carry = a & b; // AND 연산으로 자리 올림 값을 계산 return [sum, carry]; } // 예시 var a = 1; // 이진수 01 var b = 1; // 이진수 01 var result = halfAdder(a, b); console.log(result); // [0, 1]
전가산기는 반가산기와 달리, 세 개의 입력 (A, B, Carry-in)을 받아들이고, 이들을 더하여 합과 자리 올림 값을 출력한다. Carry-in은 이전 단계에서의 자리 올림 값을 나타내며, 전가산기는 반가산기보다 더 복잡하지만, 여러 자릿수의 이진수를 더할 때 사용된다.
전가산기 여러개를 병렬로 연결하면 2비트 이상인 가산가를 만들 수 있다. 이를 병렬가산기(parallel-adder)라고한다.