진법 변환기이란?
진법 변환기는 하나의 위치 기수법으로 표현된 숫자를 다른 진법으로 변환합니다 — 가장 흔한 것은 2진수(2진법), 8진수(8진법), 10진수(10진법), 16진수(16진법) 사이의 변환입니다. 모든 진법 체계는 같은 방식으로 작동합니다: 각 자릿수의 값은 그 위치에 따라 결정되며, 자릿수에 그 위치에 해당하는 진법의 거듭제곱을 곱한 값입니다. 컴퓨터는 모든 것을 2진수로 저장하고 처리하지만, 2진수 문자열은 길고 읽기 어려워지므로 프로그래머는 16진수를 간결한 표기법으로 사용하며, 8진수는 오래된 유닉스 파일 권한 표기에서 볼 수 있습니다.
이 계산기는 입력한 값을 네 가지 진법 모두로 즉시 변환하고, 각 자릿수에 그 자릿값 가중치를 곱한 자릿값 분해를 보여줍니다. 그래서 단순히 답만 얻는 것이 아니라 변환이 실제로 어떻게 이루어지는지 정확히 확인할 수 있습니다.
이 계산기를 사용해야 할 때
- 16진수 출력이 관례인 소프트웨어 개발에서 메모리 주소와 바이트 값을 디버깅할 때.
- 웹 디자인과 CSS 스타일링을 위해 16진수 색상 코드를 RGB 값으로 변환할 때.
- 점으로 구분된 2진수나 16진수로 작성되는 IP 서브넷 마스크와 네트워크 주소 지정을 이해할 때.
- 8진수 표기를 사용하는 Unix/Linux 파일 권한 코드(예: chmod 755)를 읽을 때.
- 숫자 체계와 데이터 표현을 다루는 컴퓨터 과학 교과 과정과 시험.
- 비트 연산을 2진수나 16진수로 표현하는 경쟁 프로그래밍과 저수준 코딩.
단계:
- 변환하려는 숫자를 입력하세요.
- 그 숫자가 현재 어떤 진법으로 쓰여 있는지 선택하세요 (2진수, 8진수, 10진수, 또는 16진수).
- 네 가지 진법으로 변환된 값을 즉시 확인하세요.
- 자릿값 분해를 펼쳐서 각 자릿수가 전체 값에 어떻게 기여하는지 확인하세요.
공식
값 = Σ (자릿수 × 진법^위치)
위치는 가장 오른쪽 자릿수를 0으로 하여 셉니다.
예시 (2진수 1011): 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 11 (10진수)
사용 사례
- 소프트웨어 개발에서 메모리 주소와 바이트 값 디버깅
- 웹 디자인에서 색상 코드를 16진수와 10진수 사이로 변환
- 컴퓨터 과학 수업에서 2진수와 16진수를 다루는 작업
- 8진수로 작성된 유닉스/리눅스 파일 권한 코드 읽기
- IP 서브넷 마스크와 네트워크 주소 지정 이해
주요 이점
- 2진수, 8진수, 10진수, 16진수를 동시에 즉시 변환
- 시각적인 자릿값 분해로 계산 과정을 정확히 보여줌
- 선택한 진법에서 유효하지 않은 자릿수를 즉시 감지
- 수동으로 긴 나눗셈이나 반복적인 나머지 계산이 필요 없음
전문가 팁
- 16진수를 읽을 때 각 자릿수가 정확히 4비트에 해당한다는 것을 기억하면 2진수로 암산 변환하는 데 유용합니다
- 손으로 빠르게 16진수로 변환하려면 오른쪽부터 2진수 자릿수를 4개씩 묶으세요
- 8진수는 2진수를 3개씩 묶는데, 이것이 예전 12/24비트 시스템에서 흔했던 이유입니다
- 결과를 신뢰하기 전에 선택한 '원본' 진법이 실제로 입력한 것과 일치하는지 다시 확인하세요
피해야 할 일반적인 실수
- 2진수나 8진수에 '9'처럼 선택한 진법에서 유효하지 않은 자릿수를 입력하는 것
- 16진수 자릿수 A-F는 대소문자를 구분하지 않지만 고정된 값을 나타낸다는 점을 잊는 것
- 오래된 프로그래밍 언어에서 8진수의 앞자리 0 표기를 10진수로 착각하는 것
- 2의 보수 체계 없이도 2진수 변환이 음수를 처리한다고 가정하는 것
주요 용어 설명
- 기수(Radix): 숫자 체계의 진법을 가리키는 다른 용어
- 위치 기수법: 자릿수의 값이 그 위치에 따라 결정되는 체계
- 비트: 하나의 2진수 자릿수 (0 또는 1)
- 니블: 4비트로 이루어진 묶음으로, 정확히 16진수 한 자리에 해당
관련 개념
- 색상 값: #FF5733과 같은 16진수 색상은 세 개의 16진수(16진법) 바이트입니다. 우리의 색상 변환기는 16진수, RGB, HSL, 색상 이름 형식 사이를 변환합니다.
- 2진수와 데이터 크기: 16진수의 바이트 값은 데이터 양에 직접 대응됩니다. 우리의 데이터 변환기는 비트, 바이트, 저장 단위 사이를 변환합니다.
- 에포크 타임스탬프: Unix 시간은 종종 10진수와 16진수로 표시됩니다. Unix 타임스탬프 변환기는 타임스탬프를 사람이 읽을 수 있는 날짜로, 그 반대로도 변환합니다.
- 해시: MD5, SHA-256과 같은 암호화 다이제스트는 16진수 자릿수의 문자열입니다. 우리의 해시 생성기는 이러한 일반적인 해시 형식을 생성합니다.
- 인코딩: URL의 퍼센트 인코딩은 각 특수 문자를 %2F와 같은 16진수 이스케이프로 기록합니다. URL 인코더/디코더는 URL 콘텐츠를 인코딩하고 디코딩합니다.
예시
16진수 2F를 10진수로 변환: 2×16¹ + 15×16⁰ = 32 + 15 = 47. 2진수로는 101111, 8진수로는 57입니다.
결과 해석 방법
변환기는 선택한 진법의 숫자 문자열로 모든 결과를 표시하며, 자릿값 분해는 각 자릿수를 "자릿수 × 진법^위치"로 확장하여 블랙박스를 믿는 대신 손으로 수학을 검증할 수 있게 합니다. 가장 오른쪽 자릿수가 위치 0이며 그 자릿값은 항상 1입니다. 왼쪽으로 이동할 때마다 자릿값에 진법이 한 번 더 곱해집니다(따라서 2진수에서는 자릿값이 1, 2, 4, 8…이 되고 16진수에서는 1, 16, 256…이 됩니다). 모든 "자릿수 × 자릿값"을 합하면 10진수 값을 정확히 재현합니다. 입력은 선택한 진법에서 유효한 자릿수만 사용해야 하며, 도구는 유효하지 않은 자릿수를 즉시 표시합니다. 이 도구는 음이 아닌 정수만 처리한다는 점에 유의하세요. 음수와 소수 값은 위치 기수법 정수 변환기로는 다룰 수 없는 2의 보수 또는 부동소수점 처리가 필요합니다.

