2진수, 8진수, 16진수의 활용과 변환 방법

반응형

컴퓨터 과학에서 2진수(이진수), 8진수(Octal)(현재는 잘 안쓰임), 16진수(Hexadecimal)는 필수적인 개념이다. 각각의 진법이 어디에서 사용되는지와 함께 변환 방법까지 살펴본다.

 

1. 2진수 (Binary, 0과 1)

사용처

  • 컴퓨터 내부 데이터 표현
    • 모든 컴퓨터는 전기 신호(ON/OFF, 1/0)를 사용하여 데이터를 저장하고 처리한다.
  • 논리 회로 설계
    • 디지털 논리 회로(AND, OR, NOT 등)는 2진 논리를 기반으로 동작한다.
  • 네트워크 IP 주소
    • IPv4 주소(예: 192.168.0.1)는 내부적으로 32비트 2진수로 저장된다.
    • IPv6 주소도 128비트 2진수로 구성된다.

변환 방법

10진법 0 1 2 3 4 5 6 7 8
2진법 0 1 10 11 100 101 110 111 1000
  • 10진수 → 2진수 변환
    1. 10진수를 2로 나눈 나머지를 기록한다.
    2. 몫을 계속 2로 나누면서 나머지를 기록한다.
    3. 마지막 몫이 0이 될 때까지 반복한 후, 나머지를 역순으로 읽는다.
    • 예) 10 → 1010
  • 2진수 → 10진수 변환
    • 각 자리 값을 2의 거듭제곱으로 변환한 후 더한다.
    • 예) 1010 = (1×2³) + (0×2²) + (1×2¹) + (0×2⁰) = 8 + 0 + 2 + 0 = 10

 


 2. 8진수 (Octal, 0~7)

사용처

  • 과거의 시스템 프로그래밍(현재는 잘 사용하지 않음)
    • 초창기 컴퓨터에서 3비트씩 묶어 표현하기 위해 사용되었다.
  • 파일 권한 설정 (Unix/Linux)
    • 예: chmod 755 file.txt → 755는 rwxr-xr-x로 변환된다.

변환 방법

10진법 0 1 2 3 4 5 6 7 8
8진법 0 1 2 3 4 5 6 7 10
10진법 9 10 11 12 13 14 15 16 17
8진법 11 12 13 14 15 16 17 18 20
  • 2진수 ↔ 8진수 변환
    • 2진수를 오른쪽부터 3자리씩 묶어 변환한다.
    • 예) 101010(2) → (10 101 010) → 52(8)
  • 10진수 ↔ 8진수 변환
    • 10진수를 8로 나누고 나머지를 역순으로 읽는다.
    • 예) 83(10) → 123(8)

8진수 파일 권한 예시

chmod 755 file.txt에서 755는 아래와 같이 변환된다.

숫자2진수권한 의미

7 111 rwx (읽기 + 쓰기 + 실행)
5 101 r-x (읽기 + 실행)
5 101 r-x (읽기 + 실행)
  • 소유자(Owner) → 7 (rwx)
  • 그룹(Group) → 5 (r-x)
  • 기타 사용자(Other) → 5 (r-x)

즉, 파일 소유자는 읽기, 쓰기, 실행이 모두 가능하고, 그룹 및 기타 사용자는 읽기와 실행만 가능하다.

 

 3. 16진수 (Hexadecimal, 0~9 + A~F)

사용처

  • 메모리 주소 표현
    • 가독성을 높이기 위해 메모리 주소를 16진수로 표기한다.
  • 색상 코드 (웹 디자인, 그래픽)
    • 예: #FF5733 (빨간색 FF, 초록색 57, 파란색 33)
  • 네트워크 MAC 주소
    • 예: 00:1A:2B:3C:4D:5E
  • 어셈블리어 및 저수준 프로그래밍
    • 하드웨어 프로그래밍, 임베디드 시스템에서 활용된다.

변환 방법

10진법 0 1 2 3 4 5 6 7 8
16진법 0 1 2 3 4 5 6 7 8
10진법 9 10 11 12 13 14 15 16 17
16진법 9 A B C D E F 10 11
  • 2진수 ↔ 16진수 변환
    • 2진수를 오른쪽부터 4자리씩 묶어 변환한다.
    • 예) 101010111100(2) → (1010 1011 1100) → ABC(16)
  • 10진수 ↔ 16진수 변환
    • 10진수를 16으로 나누고 나머지를 역순으로 읽는다.
    • 예) 255(10) → FF(16)

 

 비트와 진법

1비트, 3비트, 4비트는 각각 2진법, 8진법, 16진법으로 표현이 가능하다.

 

 

 정리

현재 컴퓨터에서는 2진수와 16진수는 필수적이며, 8진수는 거의 사용되지 않는다.

  • 2진수: 컴퓨터 내부 연산 및 데이터 표현의 기본이다.
  • 16진수: 메모리, 네트워크, 색상 코드 등에서 많이 사용된다.
  • 8진수: 과거에는 사용되었으나, 현재는 파일 권한 설정 외에는 거의 사용되지 않는다.

 

 

반응형
  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유