컴퓨터공학기초 개념/컴퓨터구조
5. 데이터 표현 - 2의 보수 (Two's complement)
devraphy
2021. 8. 3. 15:00
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의 값을 가진다.
[자료출처]