진법 변환기

2·8·10·16진수 및 임의 진법을 큰 수까지 변환합니다.

2진수 (binary)-
8진수 (octal)-
10진수 (decimal)-
16진수 (hex)-

코드를 보다가 0xFF를 만났는데 이게 몇인지 바로 떠오르지 않을 때가 있습니다. 색상 코드, 파일 권한, 비트 플래그처럼 개발 현장에서는 10진수가 아닌 표기가 자주 등장하죠.

이 도구는 값 하나와 그 값의 진법만 지정하면 2진수·8진수·10진수·16진수 결과를 한 화면에 함께 보여줍니다. 손으로 나누어 계산할 필요 없이 입력하는 즉시 네 가지가 동시에 갱신됩니다.

어떻게 계산되나요

입력 방법

화면에는 항목이 두 개(경우에 따라 세 개) 있습니다.

항목설명
입력 값변환할 숫자. 16진법이라면 ff처럼 알파벳도 사용합니다
입력 진법방금 넣은 값이 어떤 진법인지 선택합니다 (10·2·8·16진수)
기타 진법(2~36)입력 진법에서 '기타(직접)'를 고르면 나타나며, 2부터 36까지 지정할 수 있습니다

값을 입력하는 즉시 아래에 2진수·8진수·10진수·16진수 결과가 표시됩니다. 16진수 결과는 대문자(A~F)로 나옵니다.

변환이 이루어지는 순서

진법 변환은 두 단계로 나뉩니다. 먼저 입력한 값을 자리별 가중치로 풀어 하나의 수량으로 만들고, 그 수량을 목표 진법으로 다시 나누어 표기합니다.

예를 들어 16진수 2AF는 각 자리를 이렇게 해석합니다.

  • 2 × 16² = 512
  • A(=10) × 16¹ = 160
  • F(=15) × 16⁰ = 15
  • 합계 687

이 687을 다시 2로 계속 나누면 2진수 1010101111, 8로 나누면 8진수 1257이 됩니다. 어떤 진법에서 출발하든 중간에 한 번 공통된 값으로 모였다가 흩어지는 구조입니다.

큰 수와 문자 표기

자릿수가 매우 긴 값도 정수 연산으로 처리하기 때문에 일반적인 실수 계산에서 생기는 끝자리 오차가 나지 않습니다. 2진법을 넘어서는 진법에서는 10 이상의 값을 알파벳으로 적으며, 10=A, 11=B … 35=Z 순서라서 36진법까지 표현됩니다.

주의할 점

  • 정수만 다룹니다. 소수점이나 음수 부호를 넣으면 유효하지 않은 값으로 처리됩니다.
  • 해당 진법에 없는 문자를 넣으면(예: 8진법에 9) 오류 메시지가 표시되고 결과가 비워집니다. 진법 선택이 맞는지 먼저 확인해 보세요.
  • 대문자·소문자는 구분하지 않으므로 ffFF는 같은 값입니다.

용어 정리

진법(base)
한 자리에 몇 개의 기호를 쓰는지를 정한 수 표기 방식입니다. 10진법은 0~9 열 개, 16진법은 0~9와 A~F 열여섯 개를 씁니다.
2진수(binary)
0과 1만 사용하는 표기로, 컴퓨터가 실제로 값을 저장하는 방식과 가장 가깝습니다.
8진수(octal)
0~7을 쓰는 표기. 리눅스 파일 권한 `755`처럼 세 비트씩 묶어 읽을 때 쓰입니다.
16진수(hex)
0~9와 A~F를 쓰는 표기. 네 비트를 한 글자로 줄여 쓸 수 있어 색상 코드(#FF8800)나 메모리 주소에 자주 등장합니다.
자리 가중치
각 자리가 '진법의 거듭제곱'만큼의 값을 가진다는 규칙입니다. 16진수 세 번째 자리는 16²=256의 무게를 갖습니다.
36진법
숫자 10개와 알파벳 26개를 모두 써서 만들 수 있는 가장 큰 진법이라 이 도구의 상한이 36입니다.

자주 묻는 질문

16진수 ff는 왜 255인가요?

f는 15를 뜻하므로 앞자리 f는 15×16=240, 뒷자리 f는 15×1=15가 됩니다. 두 값을 더하면 255입니다. 1바이트(8비트)가 표현할 수 있는 가장 큰 값이라 프로그래밍에서 자주 보입니다.

음수나 소수도 변환할 수 있나요?

아니요. 이 도구는 0 이상의 정수만 처리합니다. 부호(-)나 소수점(.)을 넣으면 유효하지 않은 값이라는 메시지가 나옵니다. 필요하다면 정수 부분만 먼저 변환해 보세요.

2~36진법의 '기타' 항목은 언제 쓰나요?

3진법·5진법·32진법처럼 기본 목록에 없는 진법을 다룰 때 사용합니다. 입력 진법에서 '기타(직접)'를 고르면 2부터 36 사이의 값을 직접 적을 수 있습니다.

아주 큰 수를 넣어도 정확한가요?

네. 정수 전용 연산으로 처리해 자릿수가 길어져도 끝자리가 반올림되지 않습니다. 다만 결과 문자열이 매우 길어질 수 있습니다.

결과가 '-'로만 나옵니다.

입력한 문자가 선택한 진법에 존재하지 않는 경우입니다. 예를 들어 입력 진법을 2진수로 두고 `123`을 넣으면 2진법에는 2와 3이 없으므로 결과가 비워집니다. 진법 선택을 다시 확인해 보세요.