C언어에서의 음수표현법, 2의 보수와 부호 비트
2011. 2. 21.
2진법만 사용하는 컴퓨터는 어떤 방식으로 음수를 표현할까? 컴퓨터는 오로지 전기신호인 1과 0, 즉 on과 off만을 인식하여 2진 연산을 합니다. 우리가 일상에서 사용하는 10이라는 수와 -10이라는 수, 즉 부호를 사용함에 따라서 음수와 양수를 나눌 수 있습니다. 그렇다면, 부호를 사용할 수 없는 컴퓨터는 어떤 방식으로 음수를 표현할까요? 부호 비트 8비트의 메모리 공간에 23이라는 수를 저장하려 한다고 가정한다면 메모리 공간에는 아래와 같은 수가 할당됩니다. 0 0 0 1 0 1 1 1 => 23 8비트의 메모리공간에 양수만을 저장한다면 0~255까지의 수를 표현할 수 있습니다. 하지만 음수를 표현하지 못한다는 문제가 생기기때문에 음수를 표현하기 위해서 최상위 비트, 즉 msb를 부호비트로 사용하게..