MinChur

데이터의 표현: 이진수와 2의 보수

|
2 min read

컴퓨터는 0과 1만을 이해하는 디지털 시스템입니다. 우리가 일상적으로 사용하는 다양한 형태의 데이터를 컴퓨터가 어떻게 처리하는지 기초적인 원리를 정리해 보겠습니다.

데이터 표현의 4가지 방식

  • 양수: 이진수(Binary)를 통해 표현
  • 음수: 2의 보수(2's Complement)를 통해 표현
  • 소수: 부동 소수점(Floating Point) 방식을 사용
  • 문자: 문자 집합(Character Set) 및 인코딩(Encoding) 과정을 거침

이진법 (Binary System)

이진법은 0과 1, 단 두 개의 숫자만을 사용하여 모든 수를 표기하는 방법입니다. 1을 넘어가는 시점에 자리올림이 발생하며, 컴퓨터 내부에서 가장 기본이 되는 표현법입니다.

이진법의 특징과 한계

  • 특징: 하드웨어적으로 전압의 유무(High/Low)를 표현하기에 가장 적합합니다.
  • 단점: 숫자가 커질수록 자릿수가 급격히 길어져 사람이 직관적으로 이해하기 어렵습니다. 이를 보완하기 위해 십육진법을 함께 사용하기도 합니다.

십육진법 (Hexadecimal System)

십육진법은 09까지의 숫자와 AF까지의 알파벳을 사용하여 수를 표기합니다. (A=10, B=11, C=12, D=13, E=14, F=15)

  • 15(F)를 넘어가는 시점에 자리올림이 발생합니다.
  • 이진수 4자리를 십육진수 1자리로 깔끔하게 치환할 수 있어 시스템 프로그래밍이나 메모리 주소 표현에 자주 쓰입니다.

2의 보수법 (2's Complement)

컴퓨터가 0과 1만으로 음수를 표현하기 위해 가장 널리 사용하는 방식입니다.

계산 방법

  1. 해당 양수의 모든 비트를 반전시킵니다 (0 -> 1, 1 -> 0).
  2. 반전된 결과에 1을 더합니다.

양수와 음수를 어떻게 구분할까?

컴퓨터 내부의 CPU에는 **플래그(Flag)**라는 레지스터가 존재합니다. CPU가 명령어를 실행하는 과정에서 상태 정보를 담아두는 곳인데, 여기에 음수 플래그가 세팅되어 있는지 여부에 따라 현재 데이터가 양수인지 음수인지 판단하게 됩니다.


데이터의 가장 밑바닥부터 이해하는 것은 복잡한 소프트웨어 구조를 이해하는 기초 체력이 됩니다.