진법 변환기 사용법 - 2진수 8진수 10진수 16진수 변환하는 방법
진법 변환기로 2진수 8진수 10진수 16진수를 변환하는 방법을 정리합니다
진법이란 무엇인가
우리가 일상에서 쓰는 숫자는 10진법입니다. 0부터 9까지 10개의 숫자를 사용하고, 9 다음에 자릿수가 올라가서 10이 됩니다. 너무 익숙해서 당연하게 느끼지만, 숫자를 표현하는 방법은 10진법 외에도 여러 가지가 있습니다.
컴퓨터는 전기 신호로 작동하기 때문에 켜짐(1)과 꺼짐(0) 두 가지 상태만 구분합니다. 그래서 컴퓨터 내부에서는 모든 데이터가 2진법으로 처리됩니다. 우리가 모니터에서 보는 글자, 사진, 영상 전부 0과 1의 조합입니다.
| 진법 | 사용 숫자 | 10진수 '15' 표현 | 주요 사용처 |
|---|---|---|---|
| 2진법 | 0, 1 | 1111 | 컴퓨터 내부 처리 |
| 8진법 | 0~7 | 17 | 유닉스 파일 권한 |
| 10진법 | 0~9 | 15 | 일상생활 |
| 16진법 | 0~9, A~F | F | 프로그래밍, 색상 코드 |
같은 숫자 15가 진법에 따라 1111, 17, 15, F로 전혀 다르게 표현됩니다. 진법은 숫자를 표기하는 규칙일 뿐 값 자체는 동일합니다. 다른 언어로 같은 뜻을 표현하는 것과 비슷합니다.
2진수 8진수 10진수 16진수 특징
각 진법이 사용되는 이유와 특징입니다.
| 진법 | 장점 | 단점 | 대표 사용 사례 |
|---|---|---|---|
| 2진수 | 컴퓨터 하드웨어와 직접 대응 | 자릿수가 길어짐 | 메모리 주소, 비트 연산 |
| 8진수 | 2진수를 3자리씩 묶어 간결 | 사용 빈도 낮음 | 리눅스 파일 권한(chmod 755) |
| 10진수 | 사람에게 익숙 | 컴퓨터 연산에 비효율 | 일상 계산, 금액 |
| 16진수 | 2진수를 4자리씩 묶어 간결 | A~F 표기가 생소 | 메모리 주소, 색상 코드, MAC 주소 |
- 2진수 - 컴퓨터의 모국어입니다. 8비트(8자리) 2진수 하나가 1바이트이고, 0~255까지의 숫자를 표현합니다. 11111111은 255입니다
- 8진수 - 리눅스나 유닉스에서 파일 권한을 설정할 때 씁니다. chmod 755라고 하면 소유자는 읽기+쓰기+실행(7), 그룹과 기타 사용자는 읽기+실행(5)이라는 뜻입니다
- 16진수 - 프로그래밍에서 가장 자주 만납니다. 2진수 4자리를 16진수 1자리로 압축할 수 있어서 긴 2진수를 간결하게 표현합니다. 웹 색상 코드 #FF0000도 16진수입니다
2진수 11111111을 외우기 어렵지만 16진수 FF로 쓰면 간단합니다. 16진수가 존재하는 이유가 바로 이것입니다. 2진수를 사람이 읽기 편하게 줄여 쓰는 방법입니다.
진법 변환기 사용법
진법 변환기에 접속하면 하나의 숫자를 입력했을 때 2진수, 8진수, 10진수, 16진수 네 가지로 동시에 변환됩니다.
| 기능 | 설명 | 활용 예시 |
|---|---|---|
| 기본 변환 | 2/8/10/16진수 상호 변환 | 프로그래밍 중 진법 확인 |
| 사용자 정의 변환 | 2진~36진 자유 선택 | 특수 진법 변환 |
| 문자 코드 변환 | 문자를 ASCII/16진수/2진수로 | 문자 인코딩 확인 |
| 진법 변환표 | 0~255 주요 숫자 비교표 | 학습 및 참고용 |
10진수 입력란에 255를 넣으면 2진수 11111111, 8진수 377, 16진수 FF가 동시에 표시됩니다. 반대로 16진수란에 FF를 넣어도 나머지 세 진법으로 자동 변환됩니다. 각 결과 옆에 복사 버튼이 있어서 필요한 값을 바로 가져갈 수 있습니다.
문자 코드 변환 기능도 유용합니다. 'A'를 입력하면 10진수 65, 16진수 41, 2진수 1000001로 변환됩니다. 프로그래밍에서 문자의 ASCII 코드를 확인할 때 일일이 표를 찾을 필요 없이 바로 알 수 있습니다.
진법이 쓰이는 실무 분야
진법 변환이 필요한 구체적인 실무 상황들입니다.
| 분야 | 사용 진법 | 사용 사례 |
|---|---|---|
| 웹 개발 | 16진수 | 색상 코드 #FF5733, 유니코드 |
| 네트워크 | 2진수, 16진수 | IP 주소 서브넷 계산, MAC 주소 |
| 서버 관리 | 8진수 | 파일 권한 설정 chmod 644 |
| 임베디드 개발 | 2진수, 16진수 | 레지스터 값, 비트 마스크 |
| 보안 | 16진수 | 해시값, 암호화 키 |
| 데이터베이스 | 16진수 | BLOB 데이터, UUID |
- 웹 개발 - CSS 색상 코드가 16진수입니다. #000000(검정), #FFFFFF(흰색), #FF0000(빨강). 디자이너에게 받은 RGB 값을 HEX로 바꿔야 할 때 16진수 변환이 필요합니다
- 네트워크 - IP 주소 192.168.1.1을 2진수로 바꾸면 11000000.10101000.00000001.00000001입니다. 서브넷 마스크 계산이나 CIDR 표기법을 이해하려면 2진수 변환이 필수입니다
- 서버 관리 - 리눅스에서 chmod 755는 8진수입니다. 7은 2진수 111(읽기+쓰기+실행), 5는 101(읽기+실행)을 뜻합니다. 파일 권한 문제를 해결하려면 8진수를 2진수로 풀어서 이해해야 합니다
- 보안 - SHA-256 해시값은 64자리 16진수로 표현됩니다. 비밀번호 암호화, 파일 무결성 검증 등에서 16진수 문자열을 다루게 됩니다
진법 변환 원리 이해하기
변환기를 쓰면 자동으로 되지만, 원리를 알면 프로그래밍 시험이나 면접에서 도움이 됩니다.
| 변환 | 방법 | 예시 (10진수 13) |
|---|---|---|
| 10진수 → 2진수 | 2로 나누며 나머지 역순 배열 | 13→6...1, 6→3...0, 3→1...1, 1→0...1 = 1101 |
| 2진수 → 10진수 | 각 자리에 2의 거듭제곱 곱해서 합산 | 1101 = 8+4+0+1 = 13 |
| 2진수 → 16진수 | 4자리씩 묶어서 변환 | 1101 = D |
| 16진수 → 2진수 | 각 자리를 4자리 2진수로 확장 | D = 1101 |
10진수를 2진수로 바꾸는 방법은 2로 계속 나누면서 나머지를 적는 것입니다. 13을 2로 나누면 몫 6 나머지 1, 6을 2로 나누면 몫 3 나머지 0, 3을 2로 나누면 몫 1 나머지 1, 1을 2로 나누면 몫 0 나머지 1. 나머지를 아래에서 위로 읽으면 1101입니다.
2진수와 16진수 사이의 변환이 가장 간단합니다. 2진수를 오른쪽부터 4자리씩 묶으면 각 묶음이 16진수 한 자리에 대응합니다. 1101은 D, 1111은 F, 1010은 A입니다. 이 관계를 알면 진법 변환기 없이도 간단한 변환은 머리로 할 수 있습니다.