2의 보수

컴퓨터에 음수를 저장하기 위한 일반적인 방법으로, 특정 값의 2의 보수를 그 값의 음수 표현으로 여긴다. 특정 2진수 n에 대해, n보다 한자리 큰 2의 제곱수에서 n을 빼서 구한다.

“n의 2의 보수는 00이다” 와 같이 표현한다. 최상위 비트(MSB)를 부호 비트로 쓰는 상황(0일 때 양수 1일 때 음수를 표현)을 전제한다. 십진수 7을 예로 들면, 4비트 이진수로 표현하면 0111 이고, 0111의 2의 보수는 1001인데, 1001을 -7에 대한 표현으로 저장하는 것이다.

1의 보수로 2의 보수 구하는 법

  • 이진수의 모든 비트를 반전시켜 1의 보수를 구한다. (0111 -> 1000)
  • 1의 보수에 1을 더해 2의 보수를 구한다. (1000-> 1001)

refs