본문 바로가기
컴퓨터공학기초 개념/컴퓨터구조

6. 데이터 표현 - 2의 보수를 사용하는 이유

by devraphy 2021. 8. 3.

1. 개요

- 앞선 포스팅에서 1의 보수와 2의보수에 대해서 알아보았다. 

- 컴퓨터가 음수의 계산을 뺄셈이 아닌 덧셈으로 하기 위해서 보수를 사용한다는 것을 알았다.

- 그 과정에서 보수를 구하는 방법이 두가지(1의 보수, 2의 보수)가 있다.

- 왜 두개가 있는걸까? 보수를 구하는 방법은 하나만 있어도 충분한 거 아닐까? 차이점이 뭘까?

- 이러한 궁금증이 들었다. 이 글을 읽는 당신도 그러하다면, 같이 알아보자.


2. 2의 보수를 사용하는 이유

- 결론부터 알아보자.

- 2의 보수를 사용하는 이유는 동일한 저장공간을 이용하여 1의 보수보다 더 많은 수의 표현을 할 수 있기 때문이다.

- 그렇다면 왜 그런지 차근차근 알아보자. 

클릭하면 확대됩니다.

a) 양수는 보수가 없다. 

- 위의 표를 살펴보자. 

- 10진수를 이진법으로 표현하였고, 1의 보수와 2의 보수를 작성한 표다.

- 0부터 7까지는 1과 2의 보수가 이진법으로 표현된 수와 동일한 것을 알 수 있다. 

- 즉, 양수는 보수를 취하지 않는다. 

 

b) 음수를 위한 보수 

- 그러면 보수를 왜 사용하는 것일까?

- 이전의 포스팅에서 배운 내용이지만, 음수를 양수로서 표현하기 위해서 사용하는 것이다. 

- 표에서도 확인할 수 있듯이, 양수와는 다르게 음수는 보수를 취한다. 

 

c) +0과 -0을 구분해야할까?

- 위의 표를 보면 +0과 -0이 존재한다.

- 두가지 0을 사용하는 이유는 1의 보수로서 표현을 하기 위함이다.  

- 여기서 2의 보수를 사용하는 이유가 나온다. 

- 위의 표를 살펴보면 2의 보수의 경우 +0과 -0의 값이 0000으로 동일한 것을 확인 할 수 있다. 

- 0을 한가지로 표현을 할 수 있다는 점에서 2의 보수가 갖는 여러가지 장점이 있다. 

 

d) 2의 보수의 장점 

- 2의 보수는 0을 0000으로만 표현한다.

- 그러므로 -0의 공간이 남게 된다. 

- 남은 공간에 -8을 할당하여 사용하게 된다.

- 즉, 2의 보수는 1의 보수보다 한가지 수를 더 표현할 수 있게 된다는 것이다. 

 

e) 1과 2의 보수의 표현범위 

- 1의 보수는 다음의 표현 범위를 갖는다. 

 

- 2의 보수는 다음의 표현 범위를 갖는다. 

 

- 이렇게 보면 그저 1의 차이라고 생각할 수 있지만, 컴퓨터 연산과 논리회로적 측면에서 보면 큰 차이를 만든다.

 

e) 한가지 수를 더 표현할 수 있다는 것의 의미

- 2의 보수가 1의 보수보다 한가지 수를 더 표현할 수 있기때문에 다음과 같은 장점을 갖는다.

 

▶ 1의 보수보다 저장 효율이 더 좋다. 

- 동일한 저장공간으로 더 많은 수의 표현이 가능해진다. 

 

▶ 1의 보수보다 수의 표현 범위가 넓다.

 

▶ 1의 보수보다 논리회로적인 측면에서 더 좋은 전기효율(전력)을 갖는다. 


[자료출처]

https://youtu.be/FFAZFIsqBrA

 

댓글