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

5. 데이터 표현 - 2의 보수 (Two's complement)

by devraphy 2021. 8. 3.

1. 2의 보수를 구하는 방법 

- 이번 포스팅은 지난 포스팅에 이어서 2의 보수를 구하는 방법에 대해 알아보자.

 

- 십진법으로 표현된 음수 -10을 이진법으로 계산한다.

- 이진법으로 계산된 값을 토대로 1의 보수를 구한다. 

- 2의 보수를 구하는 방법은 1의 보수에 1을 더하는 것이다. 즉, 0101 + 1 이다.

- 결과는 0110으로, 이것이 -10에 대한 2의 보수가 된다. 

 

a) 양수가 나오는 연산 - 캐리가 있는 경우 

- 다음 예시를 통해서 알아보자. 

- 위의 예시처럼, -10에 대한 2의 보수까지 계산을 완료했다.

- 이제 1101과 덧셈을 진행한다. 

 

-1의 보수와 다르게, 2의 보수는 캐리가 발생하면 버린다. 

- 결과적으로 0011이 남는다. 십진법으로 계산하면 3이 된다. 

- 올바른 계산결과이다. 

 

b) 음수가 나오는 연산 - 캐리가 없는 경우

- 다음 예시를 통해서 알아보자.

- 계산 결과가 음수가 나오는 예시이다. 

- 십진수 -13에 대한 2의 보수까지 계산을 하였다. 

 

- 1010과 -13의 2의 보수 0011을 더해준다. 

- 그러면 1101이라는 값이 나온다. 캐리가 없다.

- 이 경우, 한번 더 2의 보수를 계산한다. 

- 결과값 1101에 대한 2의 보수를 구하기 위해서, 1의 보수를 구한다.

- 그리고 1을 더해서 2의 보수를 계산한다. 

- 1101에 대한 2의 보수 값을 구하게 되었으며 마이너스 부호를 붙여준다.

- 최종적으로 십진법으로 계산하면 -0011은 -3의 값을 가진다. 


[자료출처]

https://youtu.be/h2ktWG7vcJ4

 

댓글