반가산기
반 가산기는 2개의 2진수 A,B 논리변수를 더하여 합(SUM)과 캐리(Carry)를 산출하기 위한 조합 논리회로다.
- 입력 받을 수 있는 수는 A, B 2가지 각각 0 또는 1을 입력한다.
- 2진수 1 + 1은 2진수 10(2)다.
- A가 1, B가 1이면 XOR 연살결과 S는 0이다.
- 동시에 A가 1, B가 1이면 AND 연산결과 C는 1이다. 이 1은 자리올림을 나타낸다.
🔷 반가산기 진리표
A | B | S | C |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
보통 4비트씩 묶어서 계산하기 때문에 반가산기만으로는 덧셈을 온전히 처리할 수 없다.
3자리 이상부터 자리 올림이 발생하면, 총 3가지의 수가 입력되어야하는데 반가산기는 2개의 입력만 받을 수 있기 때문이다.
전가산기
컴퓨터 내부에서 여러 비트로 된 두 수를 더할 때 두 비트에서 더해진 결과인 캐리(Carry)는 더 높은 자리의 두 비트의 덧셈에 추가되어 더해진다. 이때, 아래 자릿수에서 발생한 캐리까지 포함하여 세 비트를 더하는 논리회로를 전가산기라고 한다.
전가산기는 3개의 입력을 받을 수 있다.
🔷 전가산기 진리표
A | B | Cin | S | Cout |
0 | 0 | 0 | 0 | 0 |
0 | 0 | 1 | 1 | 0 |
0 | 1 | 0 | 1 | 0 |
0 | 1 | 1 | 0 | 1 |
1 | 0 | 0 | 1 | 0 |
1 | 0 | 1 | 0 | 1 |
1 | 1 | 0 | 0 | 1 |
1 | 1 | 1 | 1 | 1 |
'언어 > C' 카테고리의 다른 글
[C] 2진수, 16진수 변환 (0) | 2025.04.23 |
---|---|
[C] 게이트 회로 (0) | 2025.04.23 |