진법 변환 계산기
정수를 2진수, 8진수, 10진수, 16진수로 변환합니다.
진법 변환 계산기 사용 방법
- 정수 입력
'정수' 필드에 0 이상의 정수를 입력하십시오(예: 255 또는 4096).
- 이진수 값 확인하기
이진수 결과는 2진법 표현을 보여줍니다.
- 8진수 및 16진수 확인
간결한 표현을 위해 8진수 및 16진수 결과를 검토하십시오.
- 10진수 확인
10진수 출력은 교차 확인을 위해 원래 값을 확인합니다.
이 진법 변환 계산기의 작동 원리
이 진법 변환 계산기는 10진수(10진법) 정수를 입력받아 컴퓨팅에서 가장 자주 사용되는 네 가지 수 체계인 이진수(2진법), 8진수(8진법), 16진수(16진법)로 변환합니다. 모든 위치 기수법은 동일한 방식으로 작동합니다. 각 자릿수는 해당 진법의 거듭제곱을 나타내며, 숫자의 값은 각 자릿수에 해당 위치의 가중치를 곱한 값의 합입니다. 진법 간 변환은 저수준 프로그래밍, 디지털 논리 설계, 네트워크 엔지니어링(MAC 및 IPv6 주소), CSS 색상 코드, Unix 파일 권한 마스크, 디버깅 중 메모리 주소 확인 등에 필수적인 작업입니다.
반복 나눗셈: N을 대상 진수 R로 나누고 나머지를 기록한 뒤, 몫이 0이 될 때까지 반복합니다. 그 후 나머지들을 역순으로 읽습니다. 십진수 255를 이진수, 팔진수, 십육진수로 변환합니다. 이진수(R = 2)의 경우: 255 ÷ 2 = 127 나머지 1, 127 ÷ 2 = 63 R 1, 63 ÷ 2 = 31 R 1, 31 ÷ 2 = 15 R 1, 15 ÷ 2 = 7 R 1, 7 ÷ 2 = 3 R 1, 3 ÷ 2 = 1 R 1, 1 ÷ 2 = 0 R 1. 나머지를 아래에서 위로 읽으면: 11111111. 팔진수(R = 8)의 경우: 255 ÷ 8 = 31 R 7, 31 ÷ 8 = 3 R 7, 3 ÷ 8 = 0 R 3 → 377. 십육진수(R = 16)의 경우: 255 ÷ 16 = 15 R 15 (F), 15 ÷ 16 = 0 R 15 (F) → FF.
10진수 4096 → 2진수 1000000000000, 8진수 10000, 16진수 1000. 4 KiB = 4096바이트임을 이해하는 데 유용합니다.
10진수 15 → 2진수 1111, 8진수 17, 16진수 F. 각 16진수 자릿수는 정확히 4비트에 매핑됩니다(F = 1111).
- ✓ 입력값은 음수가 아닌 정수(0 또는 양의 정수)여야 합니다. 소수점 값과 음수는 이 도구의 범위를 벗어나는 확장 알고리즘(예: 부호 있는 이진수를 위한 2의 보수)이 필요합니다.
- ✓ 9를 초과하는 십육진수 숫자는 대부분의 프로그래밍 언어, RFC 및 하드웨어 문서의 관례에 따라 대문자 A–F로 표시됩니다.
- ✓ 출력에서 앞자리의 0은 생략됩니다. 고정 너비 표현(예: 8비트 또는 32비트 이진수)의 경우, 원하는 너비에 맞춰 수동으로 결과를 채우십시오.
- ✓ 이 계산기는 음수가 아닌 정수만 허용합니다. 표시되는 숫자의 정확성을 유지하기 위해 2^53 − 1(JavaScript의 Number.MAX_SAFE_INTEGER)을 초과하는 값은 거부됩니다.
- 각 십육진수 숫자는 정확히 4개의 이진수 자릿수(비트)에 대응하며, 각 팔진수 숫자는 정확히 3개의 비트에 대응합니다. 이 관계 덕분에 16개의 니블 패턴을 암기하면 십육진수, 팔진수, 이진수 간의 암산 변환이 빨라집니다.
- 암기할 가치가 있는 일반적인 값: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4,294,967,295 (최대 부호 없는 32비트 정수).
- Unix 파일 권한은 8진수를 사용합니다. 755는 rwxr-xr-x(소유자 읽기/쓰기/실행, 그룹 및 기타 사용자 읽기/실행)를 의미합니다. 각 8진수 숫자는 3개의 권한 비트를 인코딩합니다.
- CSS 16진수 색상 코드는 빨강, 초록, 파랑 채널을 나타내는 3개의 16진수 바이트 값이 연결된 것입니다. 예를 들어, #FF8800은 빨강 255, 초록 136, 파랑 0을 의미합니다.
- 위치 기수법 이론 — Knuth, D. E., The Art of Computer Programming, 제2권: Seminumerical Algorithms, 섹션 4.1
- IEEE 754-2019 — 부동 소수점 산술 표준 (정수 표현 문맥)
- RFC 4291 — IP 버전 6 주소 지정 체계 (IPv6의 16진수 표기법)
컴퓨팅에서의 수 체계 이해
모든 위치 기수법은 기수(base)를 사용하며 각 자릿수에 위치에 따른 가중치를 부여합니다. 10진수(10진법)에서 가장 오른쪽 자릿수는 일의 자리, 다음은 십의 자리, 그 다음은 백의 자리입니다. 이진수(2진법)는 0과 1만 사용하며 트랜지스터의 온/오프 상태에 직접 매핑됩니다. 8진수(8진법)는 자릿수당 3비트를 묶고, 16진수(16진법)는 자릿수당 4비트를 묶으며 10–15의 값에 A–F를 사용합니다. 진법 간 변환에는 반복 나눗셈을 사용합니다. 숫자를 대상 기수로 나누고 나머지를 기록한 뒤, 몫이 0이 될 때까지 반복하고 나머지를 역순으로 읽습니다. 이 알고리즘은 프로그래밍의 모든 진법 변환의 기초가 됩니다.
개발자를 위한 진법 변환의 실제 활용 사례
개발자는 메모리 덤프 검사, 비트 연산 디버깅, 파일 권한 해석, 색상 코드 작업 시 진법 변환을 사용합니다. Unix 파일 권한(예: 755)은 8진수이며, 각 숫자는 소유자, 그룹 및 기타 사용자에 대한 읽기/쓰기/실행 권한을 인코딩합니다. #FF8800과 같은 CSS 16진수 색상은 16진법으로 연결된 3바이트입니다. IPv6 주소는 16진수로 작성됩니다. 비트 마스크와 플래그는 가독성을 위해 종종 16진수로 표현됩니다(바이트 마스크의 경우 0xFF, 16비트의 경우 0xFFFF). 저수준 코드나 네트워크 프로토콜을 디버깅할 때 10진수, 16진수, 2진수 간의 변환은 기본 비트 패턴을 빠르게 보여줍니다.
진법 변환 계산기 FAQ
컴퓨터 공학에서 2진수, 8진수, 16진수를 사용하는 이유는 무엇인가요?
2진수는 트랜지스터의 켜짐/꺼짐 상태와 직접 매핑되어 하드웨어의 기본 언어가 됩니다. 8진수와 16진수는 2진수를 축약한 형태입니다. 16진수 한 자리는 정확히 4비트를, 8진수 한 자리는 3비트를 나타냅니다. 따라서 프로그래머는 긴 2진수 문자열보다 주소, 비트마스크, 색상 코드를 더 간결하게 표현하기 위해 이를 사용합니다.
반대 방향(예: 16진수에서 10진수로)으로 변환하려면 어떻게 하나요?
각 자릿수에 해당 진법의 거듭제곱을 곱한 후 그 결과들을 모두 더합니다. 예를 들어, 16진수 1A3은 10진수로 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419가 됩니다.
매우 큰 숫자의 경우 어떻게 되나요?
이 계산기는 JavaScript의 안전한 정수 제한인 2^53 − 1 (9,007,199,254,740,991)까지만 허용합니다. 더 큰 숫자는 브라우저에서 하위 자릿수가 손실될 수 있으므로 거부됩니다.
음수나 분수를 변환할 수 있나요?
이 도구는 0 이상의 정수만 처리합니다. 컴퓨터 공학에서 음의 정수는 일반적으로 고정 비트 너비의 2의 보수로 표현되며, 분수 값은 IEEE 754 부동 소수점 인코딩을 사용합니다. 두 방식 모두 이 계산기에서 수집하지 않는 추가 매개변수가 필요합니다.
코드에는 0x 접두사가 나타나는데 출력 결과에는 왜 없나요?
0x 접두사(이진수의 경우 0b, 팔진수의 경우 0o)는 컴파일러나 인터프리터에 어떤 진법을 기대해야 하는지 알려주는 언어별 리터럴 구문입니다. 이 계산기는 어떤 상황에서도 사용할 수 있도록 접두사 없이 순수 숫자 문자열만 출력합니다.