2의 보수

2의 보수(Two’s Complement)는 컴퓨팅 및 디지털 논리 설계에서 부호가 있는 정수(Signed integers)를 표현하고 수학적 산술 연산을 수행하기 위해 채택된 범용적이고 표준적인 방법이다.

  1. 산출 메커니즘 특정 2진수 양수에 대한 2의 보수(음수)를 구하는 과정은 다음 두 단계로 명확히 분리된다.
  • 1단계 (비트 반전): 대상 2진수의 모든 비트를 반전시킨다 (0은 1로, 1은 0으로 변환). 이 산출물을 1의 보수(One’s Complement)라고 명명한다.
  • 2단계 (1 가산): 반전된 결과의 최하위 비트(LSB)에 이진수 1을 더한다.
  • (산출 예시) 8비트 아키텍처 환경에서 십진수 +5는 이진수 0000 0101이다. 모든 비트를 반전시키면 1111 1010이 되며, 최하위 비트에 1을 더하면 -5를 의미하는 1111 1011이 생성된다.
  1. 컴퓨터 음수 표현 방식의 비교 컴퓨터 아키텍처 역사에서 음수와 정수를 처리하기 위해 고안된 세 가지 주요 방식을 비교한 데이터는 다음과 같다.
비교 항목부호와 크기 (Sign-and-Magnitude)1의 보수 (One’s Complement)2의 보수 (Two’s Complement)
작동 원리최상위 비트(MSB)를 부호(0: 양수, 1: 음수)로 할당하고 나머지는 절대값으로 사용양수 데이터의 모든 비트를 반전모든 비트를 반전한 후 결과에 1을 가산
영(Zero)의 표현비효율적: 2개 존재 (+0, -0)비효율적: 2개 존재 (+0, -0)효율적: 1개 존재 (0)
기술적 장점데이터 구조상 인간이 읽고 해석하기 직관적임하드웨어 덧셈 설계가 부호와 크기 방식보다 덜 복잡함가산기(Adder) 회로 하나로 덧셈과 뺄셈 연산을 논리적 오류 없이 통합 수행 가능
기술적 단점산술 연산 시 부호와 크기를 개별 검사하는 복잡한 논리 회로 및 감산기(Subtractor) 필수오버플로우 연산 시 발생하는 순환 캐리(End-around carry)를 처리할 추가 회로 요구양수와 음수의 표현 범위가 비대칭적임 (예: 8비트 기준 -128 ~ +127)
  1. 구조적 및 실무적 이점 2의 보수 시스템의 가장 핵심적인 이점은 중앙처리장치 내 산술논리연산장치(ALU)의 설계를 극도로 단순화한다는 것이다. 프로세서는 별도의 감산 회로를 구축하거나 자원을 할당할 필요가 없다. 뺄셈(A - B) 명령어가 하달되면, 내부 로직은 피연산자를 2의 보수로 변환하여 기존 덧셈 회로에 병합(A + (-B))하는 것만으로 결과를 도출한다. 또한 양수 영(+0)과 음수 영(-0)이 혼재하는 중복 식별 문제를 단일 비트 패턴으로 통합 해결하여, 조건부 분기(Conditional branching) 및 메모리 자원 할당의 효율성을 최적화한다.

출처 및 참고문헌(Sources)

  • Patterson, D. A., & Hennessy, J. L. (2013). Computer Organization and Design: The Hardware/Software Interface (5th ed.). Morgan Kaufmann.
  • Null, L., & Lobur, J. (2014). The Essentials of Computer Organization and Architecture (4th ed.). Jones & Bartlett Publishers.

Entities