Page 25 -
P. 25
7.2 2의 보수
먼저 문제를 하나 내겠습니다.
“2진수 1010의 1의 보수는 얼마일까요?”
구하는 방법은 10진수 때와 같습니다. 10진수에서 9의 보수를 구할 때 9에서 각 자릿수 수
를 뺐으니 이번에는 1에서 각 자릿수 수를 빼면 됩니다.
정답은 0101입니다. 유심히 살펴보니 각 자릿수 수의 1과 0을 반전한 결과입니다. 이제
1010의 2의 보수를 구해 보죠. 1010의 1의 보수가 0101이므로 여기에 1을 더하면 됩니다.
즉, 1010의 2의 보수는 0110입니다.
2의 보수가 중요한 이유는 컴퓨터가 음수를 표현할 때 2의 보수를 사용하기 때문입니다.
7.3 음수의 표현
컴퓨터는 음수를 2의 보수로 표현합니다. 예를 들어 볼까요? 음수인 -4가 어떻게 표현되는
지 그림으로 알아보겠습니다.
그림 2‑6 -4의 2의 보수
1의 보수
+1
2의 보수
그림 2-6을 보면 먼저 4를 2진수(0000 0100)로 변환하고 1의 보수를 구합니다. 1에서 각
자릿수 수를 빼면(모든 비트를 반전하면) 1의 보수인 1111 1011을 구할 수 있습니다. 이 수
에 1을 더해 2의 보수를 구하면 최종 결과는 1111 1100입니다. 즉, 컴퓨터는 -4를 1111
1100으로 표현합니다. 코드로 확인해 보죠.
30 컴퓨터 사이언스 부트캠프 with 파이썬