진수 변환
🔢 계산/생성2진수·8진수·10진수·16진수 사이를 자유롭게 전환합니다. 프로그래밍 학습에 유용.
• 2진수: 0과 1만 사용 (컴퓨터 기본 단위)
• 8진수: 0-7 사용 (Unix 권한 등)
• 10진수: 0-9 사용 (일반적인 숫자)
• 16진수: 0-9, A-F 사용 (색상 코드, 메모리 주소 등)
🔢 진법 변환기란?
진법 변환기는 2진수, 8진수, 10진수, 16진수를 상호 변환하는 프로그래밍 필수 도구입니다. 컴퓨터는 모든 데이터를 0과 1(2진수)로 처리하지만, 사람이 읽기 편하도록 다양한 진법으로 표현합니다.실시간 변환으로 입력과 동시에 모든 진법 결과를 확인할 수 있습니다. 결과에 0b, 0o, 0x 접두사를 포함해 프로그래밍 언어에서 바로 사용할 수 있습니다.
💡 핵심 포인트
2진수 4자리 = 16진수 1자리. 비트마스킹·메모리 디버깅에서 16진수가 짧고 직관적입니다.
📊 진법별 특징 및 활용
| 진법 | 사용 숫자 | 접두사 | 활용 예시 |
|---|---|---|---|
| 2진수 | 0, 1 | 0b | 비트 연산, 플래그 |
| 8진수 | 0-7 | 0o | Unix 파일 권한 (755) |
| 10진수 | 0-9 | 없음 | 일상적인 숫자 |
| 16진수 | 0-9, A-F | 0x | 색상 코드, 메모리 주소 |
📖 0~16 변환 대조표
자주 쓰는 구간은 외워두면 계산기 없이도 감이 옵니다. 특히 16진수 한 자리 = 2진수 네 자리 대응은 비트마스크나 색상 코드를 읽을 때 그대로 써먹게 됩니다.
| 10진수 | 2진수 | 8진수 | 16진수 |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 4 | 0100 | 4 | 4 |
| 7 | 0111 | 7 | 7 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 16 | 10000 | 20 | 10 |
🛠️ 실무에서 진법을 만나는 순간
진법 변환은 학교 문제가 아니라 개발하다 보면 계속 마주치는 실무 지식입니다. 대표적인 세 가지입니다.
- 파일 권한 755 — 8진수입니다. 각 자리를 3비트로 펼치면
111 101 101, 즉 소유자 rwx / 그룹 r-x / 기타 r-x가 됩니다. 644는110 100 100으로 rw- r-- r--입니다. - 색상 코드 #FF5733 — 16진수 두 자리씩 끊어 RGB를 나타냅니다.
FF=255,57=87,33=51. 각 채널이 0~255라서 두 자리 16진수와 정확히 맞아떨어집니다. - 비트 플래그 — 권한이나 옵션을 1, 2, 4, 8처럼 2의 거듭제곱으로 정의하면 여러 값을 하나의 정수에 담을 수 있습니다. 읽기(1)+쓰기(2)=3, 여기에 실행(4)을 더하면 7이 되는 식입니다.
💡 진법 변환 팁
- 16진수 → 2진수: 각 자리를 4비트로 변환 (F → 1111)
- 8진수 → 2진수: 각 자리를 3비트로 변환 (7 → 111)
- 색상 코드: #FF5733은 R=255, G=87, B=51 (10진수)
- 권한 755: 111-101-101 (소유자 rwx, 그룹/기타 rx)
자주 묻는 질문
16진수에서 A-F는 무엇인가요?▼
16진수는 0-9 이후 10-15를 A-F로 표현합니다. A=10, B=11, C=12, D=13, E=14, F=15입니다.
음수는 어떻게 변환하나요?▼
이 도구는 양수만 지원합니다. 컴퓨터에서 음수는 2의 보수로 표현하며, 비트 수에 따라 다르게 표현됩니다.
0b, 0o, 0x 접두사는 왜 쓰나요?▼
프로그래밍 언어에서 진법을 구분하기 위해 사용합니다. 0b는 2진수, 0o는 8진수, 0x는 16진수를 나타냅니다.
왜 하필 16진수를 많이 쓰나요?▼
16진수 한 자리가 2진수 네 자리와 정확히 대응하기 때문입니다. 8비트(1바이트)를 16진수 두 자리로 깔끔하게 표현할 수 있어 메모리 주소나 색상 코드 표기에 적합합니다.
리눅스 권한 755는 무슨 뜻인가요?▼
8진수입니다. 각 자리를 3비트로 펼치면 111 101 101이 되어 소유자는 읽기·쓰기·실행, 그룹과 기타 사용자는 읽기·실행 권한을 갖는다는 의미입니다.
아주 큰 수도 정확하게 변환되나요?▼
일반적인 범위의 정수는 정확히 변환됩니다. 다만 자바스크립트가 안전하게 다루는 정수 범위를 넘어서는 아주 큰 값은 오차가 생길 수 있으니 결과를 확인해 주세요.