더북(TheBook)

4.9 이박사와 함께 생각하는 C 언어 Ⅱ: 모든 방의 불을 제어하자

이번 코너에서는 두 가지를 이야기하고자 합니다.

첫 번째는 “C 언어에서는 음수를 어떻게 표현하는가?”이고, 두 번째는 비트 연산을 실제로 응용하는 코드를 작성하면서 비트 연산의 활용에 대해 소개하겠습니다.

C 언어에서 음수를 표현하는 방법

먼저 음수 표현부터 알아봅시다. 지금까지 우리는 C 언어 프래그래밍을 하면서 음수에 대해 깊이 있게 생각하지 않고 사용하였습니다. 예를 들어 정수형 변수 a에 음수 -10을 저장하고자 int a = -10;과 같이 쉽게 표현하였습니다.

그렇다면 -10은 메모리 비트에 어떻게 저장될까요? 10진수 10을 저장하려면 2진수 1010으로 변경한 다음 비트에 저장된다고 배웠습니다. 그런데 음수, 즉 마이너스(-)는 어떻게 표현해야 할까요?

Tip

음수를 표현하지 못하면 뺄셈을 할 수가 없습니다. 예를 들어 10 - 5는 (+10) + (-5)와 같이 양수 10과 음수 -5를 더한 결과라고 생각하면 됩니다. -5를 2진수로 표현할 수 있다면 10 - 5라는 뺄셈을 계산할 수 있을 것입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.