데이터 표현 방식의 이해 ② 2진수의 표현방법

2007. 7. 3. 15:54ETC Programmings

반응형
2진수는 8비트로 표현이 됩니다. 그렇담.. 총 8칸의 공간이 있다고 가정을 하고.. 칸 마다 0이나 1로 표현이 되어있다고 상상을 하시면.. 아주 편하게 생각이 될겁니다.. 아래 그림을 참조하시면 될겁니다.

사용자 삽입 이미지


이중에서 가장 왼쪽에 있는 박스를 Most Significant Bit (이하, MSB) 라고 부른다고 합니다. 그대로 해석을 하자면 아주 중요한 비트라는 의미입니다. 이게 뭐냐면.. 2진수도 양수와 음수가 있는데 이 양수와 음수를 구분해 주는 비트가 바로 MSB 라고 합니다. 0인 경우에는 양수 1인 경우에는 음수로 표현이 된다고 하네요.

따라서 실제적으로 데이터의 크기를 표현하는 부분은 7비트의 몫이 되겠습니다. 그럼 음수 양수를 어떻게 표현하는지 한번 살펴보도록 하겠습니다.

사용자 삽입 이미지

먼저 맨 위에 있는 2진수는 10진수로 변환하면 7이라는 숫자가 나옵니다. 이걸 음수로 바꿔 주려면 어떻게 해야할까요? 위에서 이야기 했듯이 MSB의 숫자를 음수를 의미하는 1로 바꾸어 주면 되는걸까요?

그러면 위 그림에서 2번째 줄에 있는 2진수와 1번째 줄에 있는 2진수를 더하면.. 7 + (-7) 0이라는 숫자가 나와야 합니다만.. 아래와 같이.. 좀 터무니 없는 숫자가 나오고 맙니다...;; 10진수 처럼 쉽게 부호만 바꾼다고 되는 것이 아니라고 합니다.. 따라서 아래와 같이 한다고 하는군요 'ㅅ'.. -7을 표기하는 2진수를 살펴보도록 할까요?

사용자 삽입 이미지

일단 00000111 의 보수를 취해줍니다. 쉽게 말하면 0은 1로 1은 0으로 바꾸어주는겁니다. 그러면 11111000 이라는 2진수가 나옵니다. 그상태에서 1을 더해주면 음수의 값을 표현한다고 합니다. 그럼 이 공식이 맞는지 증명을 해보입시다..

그렇습니다 -ㅅ-.. 맨 밑에 있는 2진수를 보시다시피 00000000라는 숫자가 나옵니다. 사실 맨 왼쪽자리 이후에 1이라는 숫자가 더 필요합니다만.. 2진수에서는 올림수는 버려진다고 합니다.. ^^


반응형