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
)