보수를 사용하는 이유
컴퓨터 산술 논리 장치(ALU)는 기본적으로 덧셈 연산만 수행하도록 설계 됨
즉, 컴퓨터는 덧셈만 수행 가능하므로 음수를 보수로 변환하여 계산하기 위해서 보수를 사용한다.
2의 보수를 사용하는 이유
1. 표현 범위의 확장
- 같은 비트 수에서 더 넓은 범위의 숫자를 표현할 수 있음 (2의 보수는 0이 하나)
2. 0의 유일한 표현
- 1의 보수는 -0, +0 즉, 0이 두 가지로 표현 됨
- 2의 보수는 0이 하나로 표현 됨
3. 간단한 덧셈/뺄셈 연산
- 2의 보수 시스템에서 덧셈과 뺄셈이 더 일관되고 단순한 방식으로 처리 됨 (1의 보수는 순환 연산 필요)
4. 오버플로우 감지 용이
- 덧셈과 뺄셈에서 오버플로우를 쉽게 감지할 수 있다.
- 2의 보수에서 부호비트의 변화를 통해 오버플로우를 쉽게 감지 가능
5. 하드웨어 구현의 효율성
- 회로 설계가 더 단순해지고 효율적
1의 보수, 2의 보수 구하기
**
1의 보수 - 모든 비트를 반전시킨다.
0001의 1의 보수는 1110
**
2의 보수 - 모든 비트를 반전 시킨 후 1을 더한다.
0001의 1의 보수 1110
0001의 2의 보수 1111