컴퓨터에서의 진법

컴퓨터는 전기 신호의 꺼짐(0)과 켜짐(1)만을 인식할 수 있으므로, 모든 데이터를 표현할 때 2진법(Binary)으로 표현합니다. 0과 1의 조합으로, 수, 문자, 명령어, 이미지, 오디오 등 모든 정보가 저장되고 처리됩니다.

그러나 2진법은 사람이 읽고 다루기 불편할 정도로 숫자가 길어지기 때문에, 8진법(Octal)이나 16진법(Hexadecimal)을 함께 사용합니다.
이러한 진법들은 2진법과 변환이 간단하여 디버깅, 메모리 주소 확인, 색상 코드, 네트워크 주소 등 다양한 영역에서 사용됩니다.

2진법

2진법은 0과 1 두 가지 숫자만으로 값을 표현하며, 비트(Bit) 단위로 정보를 다룹니다.
표기할 때는 0b1010처럼 0b 접두어를 사용하거나 $1010_2$와 같이 아래첨자로 나타냅니다.

2진법의 단점

  • 2진수는 숫자가 길어져 사람이 읽고 쓰기 불편합니다.
    • 10진수 128을 2진수로 표현하면 여덟 자리의 숫자($10000000_2$)가 필요합니다.

8진법

8진법은 0부터 7까지의 숫자를 사용하며, 2진수 3비트가 8진수 한 자리로 변환됩니다.
표기할 때는 0o17처럼 0o 접두어를 붙이거나 $17_8$로 표현합니다.

과거에는 유닉스 파일 권한(chmod 755)이나 일부 시스템 로그 표현에서 자주 사용되었지만, 16진수에 비해 활용 빈도가 많이 낮아졌습니다.

16진법

16진법은 0부터 9까지의 숫자와 10~15를 A, B, C, D, E, F로 표기합니다.
표기할 때는 0x3B처럼 0x 접두어를 사용하거나 $3B_{16}$과 같이 아래첨자를 사용합니다.

10 진수 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 $…$
16 진수 0 1 2 3 4 5 6 7 8 9 A B C D E F 10 11 $…$

15에서 16이 될 때 자리올림으로 앞에 1이 생깁니다.

16진법은 한 자리로 4비트(2진수 4자리)를 표현할 수 있어, 다음과 같은 영역에서 사용됩니다.

  • 디버깅 출력
  • 메모리 주소
  • 색상 코드
  • 네트워크(IP) 및 MAC주소

ComputerScience 카테고리 내 다른 글 보러가기

댓글남기기