it-box

정수 진법 변환기

숫자를 10진수, 16진수, 2진수, 8진수, Base64 등 여러 진법 사이에서 변환합니다.

정수 진법 변환기 도구 열기

정수를 2진수, 8진수, 10진수, 16진수 등 2부터 64 사이의 진법으로 바꿔 비트 값이나 식별자를 확인합니다.

사용 순서

  1. 입력 숫자를 넣고 입력 진법을 지정합니다. 16진수 값이면 16을 선택합니다.
  2. 2진수, 8진수, 10진수, 16진수, Base64 줄에서 변환 결과를 확인합니다.
  3. 사용자 지정 칸에서 2부터 64 사이의 원하는 진법을 골라 결과를 봅니다.
  4. 허용되지 않는 문자가 있으면 오류 메시지가 표시되므로 입력 진법과 문자를 다시 확인합니다.

예시

입력 42, 입력 진법 10이면 2진수는 101010, 8진수는 52, 16진수는 2a, 64진수는 G가 표시됩니다.

한계

2부터 64까지만 지원하며 음수와 소수는 처리하지 않습니다. 기호는 0부터 9, 소문자 a부터 z, 대문자 A부터 Z, +, / 순서로 정해져 있어서 36진수 이하에서는 대문자를 받지 않습니다. 16진수 입력에 FF를 넣으면 F가 허용되지 않아 오류가 납니다. 라벨의 Base64 (64)는 바이트를 RFC 4648 방식으로 인코딩한 값이 아니라 정수를 64진수 기호로 바꾼 값입니다.

보안 주의

비트 마스크나 권한 값을 옮길 때는 자릿수와 비트 순서를 함께 확인하세요. 이 도구는 숫자 값만 바꾸므로 바이트 순서나 부호 있는 정수의 2의 보수 표현은 반영하지 않습니다.

배경 지식

진법은 한 자리가 가질 수 있는 기호의 개수로 정해집니다. 2진수는 0과 1, 16진수는 0부터 f까지 16개의 기호를 씁니다. 컴퓨터는 내부적으로 2진수를 쓰지만, 사람이 읽기 쉽도록 8진수나 16진수로 묶어 적는 경우가 많습니다. 같은 값도 진법만 다르면 전혀 다른 숫자처럼 보이므로 입력 진법을 먼저 확인하는 것이 중요합니다.

16진수 한 자리는 2진수 4자리에 정확히 대응하므로 바이트 하나를 두 자리 16진수로 적을 수 있습니다. 색 코드 #ff8800이나 메모리 주소가 대표적인 예입니다. 8진수는 3자리씩 묶여 유닉스 chmod 권한 표기인 755 같은 값에 쓰입니다. 권한 값 644나 755를 보면 각 자리가 소유자, 그룹, 기타 사용자의 권한을 나타냅니다.

진법 변환은 각 자리의 기호 값에 기저의 거듭제곱을 곱해 더한 뒤, 목표 진법으로 나눗셈과 나머지를 반복해 다시 쌓는 방식입니다. 이 도구는 BigInt로 계산하므로 큰 정수도 정밀도를 잃지 않습니다. 대신 입력 진법 범위를 벗어난 기호는 바로 거부합니다. 입력 칸을 비우면 결과는 0으로 표시됩니다.

자주 묻는 질문

16진수 값에 0x 접두사가 붙어 있으면 어떻게 하나요?

이 도구는 0x 접두사를 해석하지 않으므로 숫자 부분만 입력해야 합니다. x는 16진수 기호가 아니어서 0x를 그대로 넣으면 오류가 표시됩니다.

2진수를 16진수로 바꾸면 값이 달라지나요?

값은 같고 표기만 바뀝니다. 2진수 4자리가 16진수 1자리에 대응하므로 1010은 a가 됩니다. 앞쪽의 0은 값에 영향을 주지 않습니다.

음수는 어떻게 변환하나요?

이 도구는 음수를 지원하지 않습니다. 2의 보수로 저장된 값이라면 먼저 비트 길이를 정하고 부호 없는 값으로 해석한 뒤 변환해야 합니다.