진법 변환기

입력 진법을 고르고 값을 넣으면 2·8·10·16진수 결과를 즉시 함께 보여드려요.

0 이상의 정수만 입력하세요. 0x·0b·0o 접두사를 붙이면 진법이 자동 인식됩니다.
모든 변환은 브라우저에서 처리되며 입력값은 저장·전송되지 않습니다. 음수·소수는 지원하지 않습니다.

진법 변환기 사용법

변환할 값을 입력하고, 그 값이 어떤 진법으로 적혀 있는지 입력 진법을 선택하세요. 입력하는 즉시 2진수·8진수·10진수·16진수 네 가지 결과가 표로 함께 나타나며, 각 줄의 복사 버튼으로 결과를 클립보드에 담을 수 있습니다. 16진수 결과는 항상 대문자(A~F)로 표기합니다.

진법이란?

진법(기수법)은 수를 표현할 때 몇 개의 기호를 사용하고 자리값이 몇 배씩 커지는지를 정하는 방식입니다. 우리가 일상에서 쓰는 10진수는 0~9의 10개 기호를 쓰고 한 자리 올라갈 때마다 10배가 됩니다. 컴퓨터는 전기 신호의 켜짐/꺼짐을 다루기 때문에 0과 1만 쓰는 2진수를 기본으로 사용하며, 2진수를 사람이 읽기 쉽게 줄여 표현하기 위해 8진수와 16진수를 함께 활용합니다.

  • 2진수: 0, 1 — 컴퓨터 내부 표현의 기본
  • 8진수: 0~7 — 2진수 3자리를 한 자리로
  • 10진수: 0~9 — 일상에서 쓰는 수
  • 16진수: 0~9, A~F — 2진수 4자리를 한 자리로, 색상 코드·메모리 주소 등에 사용

2·8·10·16진법 대응표

0부터 16까지를 2진수·8진수·10진수·16진수로 나란히 정리한 표입니다. 자리수가 어떻게 올라가는지 한눈에 비교할 수 있습니다.

10진수2진수8진수16진수
0000
1111
21022
31133
410044
510155
611066
711177
81000108
91001119
10101012A
11101113B
12110014C
13110115D
14111016E
15111117F
16100002010

자주 쓰는 값으로는 255 = 11111111(2) = FF(16), 1024 = 10000000000(2) = 400(16)가 있습니다. 16진수 FF는 1바이트가 표현할 수 있는 최대값(0~255)이라 색상 코드나 메모리 표기에 자주 등장합니다. 큰 숫자를 우리말로 읽으려면 숫자 한글 변환기, 옛 표기 체계는 로마숫자 변환기를 참고하세요.

접두사 자동 인식과 임의 진법

값 앞에 0x, 0b, 0o를 붙이면 선택한 입력 진법과 상관없이 각각 16진수·2진수·8진수로 인식합니다. 코드에서 복사한 상수를 그대로 붙여넣을 때 편리합니다. 입력 진법에서 기타(2~36)를 고르면 원하는 진법으로 해석할 수 있고, 아래 추가 출력 진법 칸으로 2진수부터 36진수까지 원하는 진법 결과를 하나 더 볼 수 있습니다. 36진수는 0~9와 A~Z 서른여섯 개 기호를 쓰며, 짧은 코드나 식별자를 만들 때 종종 활용됩니다.

손으로 바꾸는 방법

  • 10진수 → 2진수: 2로 계속 나누며 나머지를 적고, 마지막에 나머지를 거꾸로 읽습니다. 13이면 나머지가 1, 0, 1, 1이므로 1101입니다.
  • 2진수 → 16진수: 오른쪽부터 네 자리씩 묶어 한 자리로 바꿉니다. 11011010은 1101과 1010이므로 DA입니다.
  • 2진수 → 8진수: 오른쪽부터 세 자리씩 묶습니다. 같은 값 11011010은 011·011·010이므로 332입니다.
  • n진수 → 10진수: 각 자리 숫자에 자리값(밑의 거듭제곱)을 곱해 더합니다. 16진수 FF는 15×16 + 15 = 255입니다.

2진수와 16진수는 4비트가 정확히 한 자리에 대응하므로 서로 옮기기가 쉽습니다. 16진수를 자주 쓰는 이유이기도 합니다.

자주 하는 실수와 주의점

  • 선택한 진법에 없는 자리를 넣으면 오류로 안내합니다. 2진수에 2를 넣거나 8진수에 8·9를 넣는 경우가 대표적입니다.
  • 음수와 소수점은 지원하지 않습니다. 0 이상의 정수만 입력할 수 있습니다.
  • 앞에 붙은 0은 값에 영향을 주지 않습니다. 001111은 같은 값이며 결과에도 선행 0이 남지 않습니다.
  • 16진수 결과는 항상 대문자로 표시됩니다. 입력은 대소문자를 가리지 않습니다.
  • 일반 정수 범위를 넘는 큰 값도 큰 정수 연산으로 처리하므로 자릿수가 길어져도 값이 어긋나지 않습니다.
  • 접두사를 붙이면 선택한 입력 진법보다 접두사가 우선합니다. 2진수를 골라 둔 채 0xFF를 넣으면 16진수로 해석됩니다.

자주 묻는 질문

2진수를 16진수로 어떻게 변환하나요?

입력 진법을 2진수로 선택하고 값을 입력하면 16진수를 포함한 8진수·10진수 결과가 즉시 함께 표시됩니다. 내부적으로는 2진수를 정수로 해석한 뒤 16진수로 다시 표기합니다. 손으로 바꿀 때는 오른쪽부터 네 자리씩 묶으면 되며, 1010은 16진수로 A입니다.

16진수에 어떤 문자를 쓸 수 있나요?

16진수는 0~9와 A~F(대소문자 무관) 16개의 기호를 사용합니다. 이 변환기는 결과를 항상 대문자로 표기하며, G처럼 16진수에 없는 문자를 입력하면 유효하지 않은 입력으로 안내합니다.

2진수에 2를 입력하면 왜 오류인가요?

2진수는 0과 1 두 가지 기호만 사용하기 때문에 2는 존재하지 않는 자리입니다. 선택한 진법에 없는 문자가 들어 있으면 변환할 수 없으므로 입력 오류로 안내합니다.

아주 큰 수도 변환할 수 있나요?

네. 일반 정수 범위를 넘는 큰 값도 큰 정수 연산으로 처리하여 정밀도 손실 없이 2·8·10·16진수로 변환합니다. 음수와 소수점은 지원하지 않으며 0 이상의 정수만 입력할 수 있습니다.

0x나 0b 접두사를 붙여도 되나요?

네. 0x는 16진수, 0b는 2진수, 0o는 8진수로 자동 인식하며 선택한 입력 진법보다 접두사가 우선합니다. 코드에서 복사한 상수를 그대로 붙여넣을 때 편리합니다.

2진수·16진수 외의 진법도 변환할 수 있나요?

네. 입력 진법에서 기타(2~36)를 고르면 원하는 진법으로 해석할 수 있고, 추가 출력 진법 칸에 2부터 36까지의 값을 넣으면 그 진법 결과를 하나 더 볼 수 있습니다. 36진수는 0~9와 A~Z를 사용합니다.

앞에 0을 붙여도 값이 달라지지 않나요?

달라지지 않습니다. 0011과 11은 같은 값이며 결과에도 선행 0이 남지 않습니다. 자릿수를 맞춰 표시해야 한다면 결과를 복사한 뒤 직접 0을 채워 주세요.