본문 바로가기
디지털 논리회로

디지털 논리회로 / 부호가 없는 수, 2의 보수, 병렬 이진 가감산기

by clean_h 2021. 5. 3.
728x90

부호가 없는 수(unsigned number, magnitude number)

부호가 없는 수(=unsigned number)은 말그대로 부호가 플러스 값 만을 가지는 것이다. 그 뜻은 마이너스 값이 없고 플러스 값 만을 가지는 것을 의미한다. 부호가 없는 수는 그냥 2진수 읽는 방법으로 읽게 되면 된다. 만약 4비트짜리 정수라면 0부터 15까지(0000~1111) 2의 세제곱만큼 값을 가지게 된다. 반대로 부호가 있는 정수의 표현방법은 sign magnitude, 1’s complement, 2’s complement가 있는데 이 수들은 앞의 수들이 부호를 나타나게 되어 마이너스와 플러스부호 두가지 경우를 나타낼 수 있다.  4비트짜리 정수라면 sign magnitude-7부터 7까지(1111~0111), 2’s complement -8부터 7까지(1000~0111) 나타낼 수 있다. sign보다 unsigned으로 사용하였을 때 양수 쪽 방향으로 2배의 표현 범위를 가지기 때문에 음수가 필요 없을 때 unsigned을 사용하게 된다.

 

2의 보수

1의 보수에 1을 더한 형태, 정수를 표현하는 N개의 비트에서 0 1 1 0으로 바꿔 1의 보수를 취해준 후 1을 더한다.

비트 패턴으로 음수를 표현하는 여러 방법 중에 하나이다.

한정된 개수의 비트로 양수와 음수가 표현될 수 있다.

양수를 표현하는 패턴에 2진수 덧셈 알고리즘을 사용하여 더해서 결과가 0이 되는 패턴으로 음수를 표현한다.

예를 들어 양수 00100000 이라면 1의 보수를 취한 형태는 11011111 이후 1을 더해주게 된다면 11100000이 된다.

0111(10진수로 7) 2의 보수는 0111 -> 1000 -> 1001 이다.

 

병렬 이진 가감산기

n개의 가산기, 감산기를 병렬로 연결하면 N비트의 2진 연산이 가능하다.

복수개의 비트들로 구성된 2진수 2개를 더해 결과를 출력하는 조합회로로 전가산기들을 차례로 연결하여 아랫단의 자리올림 출력이 윗 단의 자리올림 입력으로 들어가도록 회로를 구성한다. n개의 전가산기를 연결하면 n비트로 구성된 2개의 2진수를 더할 수 있다. 단점으로는 윗 단이 입력으로 받아 계산을 할 수 있으므로 전체 계산시간이 많이 걸린다는 단점이 있다.

1개의 full adder에는 A, B, Ci 3개의 input S, Co 2개의 output이 사용된다. n자리의 2개의 2진수를 An, Bn, 이라 하고, n-1 자리에서의 자리올림수로 올라 온 수를 Co이라 한다.      

4개의 Full adder에 각 A, B가 들어가고 S가 나오게 된다. 처음 full adder Ci가 들어가고 나온 출력을 c를 다음 full adder Ci으로 넣어주어 최종적으로 나오는 4번째 Full adder의 출력은 Co이 된다.

728x90

댓글