반가산기, 전가산기

Boseong Choi·2023년 4월 1일
0

컴퓨터구조

목록 보기
1/2
post-thumbnail

논리 게이트 정리

출처 : 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)라고한다.

  • 전가산기(full adder) 8개를 연결해서 조합하면 8비트 전가산기(8 bits full adder)가 된다.
  • 총 8자리로 2진수가 표현할 수 있는 숫자는 2의 8승으로 256까지 덧셈이 가능하다.
  • 8비트 전가산기 2개를 연결해서 조합하면 16비트 전가산기(16 bits full adder)가 된다.
  • 여기서 2진수가 표현할 수 있는 숫자는 2의 16승으로 65536까지 덧셈이 가능하다.
  • 전체적으로 뎃셈을 사용해서 곱셈이 가능하고, 덧셈의 회로를 바꾸어 뺄셈이 가능하다.
profile
Frontend Developer

0개의 댓글