Learning
토픽 4 / 111·전체 구조 (Overview)

보수 연산 (Complement Arithmetic)

보수 연산 (Complement Arithmetic)

음수를 표현하고 뺄셈을 덧셈으로 변환하기 위한 수 체계로, 1의 보수와 2의 보수가 있으며 현대 컴퓨터는 2의 보수를 표준으로 사용

목적: 음수 표현, 뺄셈→덧셈 변환, 단순한 산술 회로 설계

특징: 부호 비트 사용, 덧셈기로 뺄셈 수행, 오버플로우 검출 가능

1의 보수(1's Complement)

  • 방법: 모든 비트 반전 (0→1, 1→0)
  • 예시: +5(0101) → -5(1010) [4비트]
  • 문제: 0이 두 개 존재(+0: 0000, -0: 1111), 순환 자리올림(End-Around Carry) 필요

2의 보수(2's Complement)

  • 방법: 1의 보수 + 1, 또는 우측부터 첫 번째 1까지 유지 후 나머지 반전
  • 예시: +5(0101) → -5(1011) [4비트]
  • 장점: 0이 유일(0000), 덧셈기만으로 뺄셈 가능, 현대 표준
  • 표현 범위(n비트): -2^(n-1) ~ +2^(n-1)-1

부호 크기(Sign-Magnitude): 최상위 비트=부호, 나머지=크기, 0이 두 개, 덧셈 복잡

오버플로우 검출: 양수+양수=음수 또는 음수+음수=양수일 때 오버플로우

장점: 간단한 ALU 설계, 뺄셈이 덧셈으로 통합

단점: 오버플로우 주의, 비트 확장 시 부호 확장 필요

적용사례: 모든 현대 프로세서(2의 보수), 정수 연산

비교: 2의보수(0유일/표준) vs 1의보수(0중복/순환자리올림) vs 부호크기(직관적/복잡)

연관: ALU, 정수 표현, 오버플로우, 부호 확장