개발 도구
진법 변환
2·8·10·16진과 2~36진을 한 표로. 소수, 음수(2의 보수), 아주 큰 수, 여러 값까지.
🔒 입력한 내용과 파일은 이 브라우저 안에서만 처리합니다. 서버로 보내지 않습니다.
| 입력 | 2진수 | 8진수 | 10진수 | 16진수 | 36진수 |
|---|
표의 값을 누르면 그 값이 복사됩니다.
진법 변환 사용법
진법은 수를 적을 때 한 자리에 몇 가지 숫자를 쓰느냐를 말합니다. 우리가 쓰는 10진법은 0부터 9까지 열 가지, 컴퓨터가 쓰는 2진법은 0과 1 두 가지를 씁니다. 2진수는 너무 길어서 사람이 읽을 때는 세 자리씩 묶은 8진수나 네 자리씩 묶은 16진수로 적습니다. 이 도구는 수를 넣으면 2진, 8진, 10진, 16진과 원하는 진법 하나를 한 표에 나란히 보여 줍니다.
쓰는 순서
- 입력 칸에 수를 넣습니다. 여러 개라면 한 줄에 하나씩 적습니다.
- 입력 진법을 확인합니다. 자동이면 0x, 0b, 0o 접두어로 진법을 알아보고 접두어가 없는 수는 10진수로 읽습니다. FF 처럼 접두어 없는 16진수를 넣을 때는 16진수로 바꿔 주세요.
- 표에서 결과를 봅니다. 값을 누르면 그 값만 복사되고, 표 복사는 엑셀에 붙여 넣을 수 있는 형태로, CSV로 저장은 파일로 내보냅니다.
예시
예시 버튼을 누르면 일곱 가지 수가 들어갑니다. 옵션이 처음 상태일 때 결과는 다음과 같습니다.
| 입력 | 2진수 | 8진수 | 10진수 | 16진수 | 36진수 |
|---|---|---|---|---|---|
| 255 | 11111111 | 377 | 255 | FF | 73 |
| 0b1010 | 1010 | 12 | 10 | A | A |
| -10 | -1010 | -12 | -10 | -A | -A |
| 3.75 | 11.11 | 3.6 | 3.75 | 3.C | 3.R |
| 0.1 | 0.000110011001… | 0.063146314631… | 0.1 | 0.199999999999… | 0.3LLLLLLLLLLL… |
3.75 는 3 + 1/2 + 1/4 이므로 2진수로 11.11 로 딱 떨어집니다. 0.1 은 2진, 8진, 16진 어디서도 끝나지 않아 소수 12자리에서 자르고 … 을 붙였습니다. 마지막 예시 18446744073709551616 은 2의 64제곱으로, 16진수로는 1 뒤에 0이 16개 붙은 10000000000000000 입니다. 일반 계산기라면 끝자리가 뭉개지는 크기이지만 이 도구는 한 자리도 틀리지 않습니다.
직접 바꾸는 방법
10진수를 다른 진법으로 바꿀 때는 그 진법의 수로 계속 나누면서 나머지를 거꾸로 읽습니다. 255를 16으로 나누면 몫 15, 나머지 15이고, 15는 16진수로 F이므로 FF가 됩니다. 반대로 다른 진법을 10진수로 바꿀 때는 각 자리 숫자에 자릿값을 곱해 더합니다. 2진수 1010은 8 + 0 + 2 + 0 = 10 입니다. 2진수와 16진수 사이는 더 쉽습니다. 2진수 네 자리가 16진수 한 자리와 정확히 대응하므로 1111 1111 을 네 자리씩 끊어 F, F로 읽으면 됩니다. 2진수를 4자리씩 띄우기를 켜면 이 대응이 눈에 보입니다.
옵션
- 입력 진법 직접 정하기: 3진, 5진, 36진처럼 2부터 36 사이의 어떤 진법이든 입력으로 쓸 수 있습니다. 11진 이상은 A부터 Z까지를 10부터 35로 읽습니다.
- 추가로 볼 진법: 표의 마지막 칸에 보여 줄 진법입니다. 처음 값은 36입니다.
- 소수 자릿수: 소수가 끝나지 않을 때 몇 자리까지 보여 줄지 정합니다. 200자리까지 됩니다.
- 음수 2의 보수: 컴퓨터가 음수를 저장하는 방식으로 보여 줍니다. 8비트를 고르고 -10 을 넣으면 2진수 11110110, 8진수 366, 16진수 F6 이 됩니다. 반대로 입력 진법을 16진수로 두고 F6 을 넣으면 10진수 칸에 "246 (부호 있는 8비트로는 -10)"이라고 함께 알려 줍니다. 비트 수로 담을 수 없는 음수(8비트에서 -129 이하)는 범위 밖이라고 표시합니다. 2의 보수는 정수에만 적용됩니다.
- 영문 소문자: FF 대신 ff 로 적습니다.
진법이 쓰이는 곳
- 16진수: 색상 코드(#FF8800), 메모리 주소, MAC 주소, 해시값, 유니코드 번호. 한 바이트가 두 자리로 딱 떨어져서 가장 널리 쓰입니다.
- 8진수: 리눅스 파일 권한. chmod 755 의 7은 2진수 111로 읽기, 쓰기, 실행을 모두 허용한다는 뜻입니다.
- 2진수: 비트 플래그, 서브넷 마스크, 논리 회로.
- 36진수: 단축 주소나 주문 번호처럼 긴 숫자를 짧은 영문·숫자로 줄일 때.
주의할 점
- 쉼표, 밑줄, 공백은 자릿수 구분으로 보고 무시합니다. 1,000,000 과 1_000_000 은 같은 수입니다.
- CSV를 엑셀에서 열 때 긴 숫자가 지수 표기로 바뀌지 않도록 값을 글자 형식으로 저장합니다.
- 지수 표기(1e10)와 분수는 읽지 못합니다. 틀린 줄은 몇 번째 줄의 어느 글자가 문제인지 알려 드리고 나머지 줄만 변환합니다.
자주 묻는 질문
0.1을 2진수로 바꾸면 왜 끝나지 않나요?
10진수 0.1은 2진수로 0.000110011001100… 처럼 0011이 끝없이 되풀이되는 순환소수이기 때문입니다. 컴퓨터가 0.1 + 0.2 를 정확히 0.3 으로 계산하지 못하는 이유이기도 합니다. 이 도구는 정한 소수 자릿수까지만 보여 주고 잘린 곳에 … 표시를 붙입니다.
음수는 2진수로 어떻게 나오나요?
기본은 -1010 처럼 앞에 빼기 부호를 붙인 수학 표기입니다. 컴퓨터 안에서 저장되는 모양을 보려면 2의 보수 옵션에서 8, 16, 32, 64비트 가운데 하나를 고르세요. -10 은 8비트에서 11110110, 16진수로 F6 입니다.
얼마나 큰 수까지 바꿀 수 있나요?
자릿수 제한이 없습니다. 브라우저의 큰 정수 기능으로 계산하므로 수십, 수백 자리의 수도 한 자리도 틀리지 않고 바뀝니다. 계산기나 엑셀은 15~16자리를 넘으면 끝자리가 0으로 바뀌는 것과 다릅니다.
0x, 0b 같은 접두어를 붙여도 되나요?
입력 진법이 자동이면 0x 는 16진수, 0b 는 2진수, 0o 는 8진수로 읽고 접두어가 없으면 10진수로 읽습니다. 접두어 없이 FF 같은 16진수를 넣을 때는 입력 진법을 16진수로 골라 주세요.
16진수보다 큰 진법은 어떻게 적나요?
10 이상의 숫자를 알파벳으로 적습니다. A가 10, B가 11이고 Z가 35이므로 36진까지 쓸 수 있습니다. 36진수는 숫자와 영문만으로 긴 번호를 짧게 줄일 때 쓰입니다.
함께 쓰면 좋은 도구
마지막 수정 2026-11-09. 있었으면 하는 기능이나 불편한 점은 이 도구에 건의하기로 알려 주세요.