반응형
컴퓨터 과학에서 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진수 변환
- 10진수를 2로 나눈 나머지를 기록한다.
- 몫을 계속 2로 나누면서 나머지를 기록한다.
- 마지막 몫이 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진수: 과거에는 사용되었으나, 현재는 파일 권한 설정 외에는 거의 사용되지 않는다.
반응형
