10진수 → 16진수 변환기란?
이 도구는 10진수(base 10, 0~9 숫자를 사용하는 우리가 일상에서 쓰는 수 체계)로 적힌 숫자를 16진수(base 16, 0~9 숫자와 A~F 알파벳을 사용)로 바꿔 줍니다. 16진수는 16진수 한 자리가 정확히 4개의 2진 비트를 표현하기 때문에, 메모리 주소·컬러 코드·바이트 값·디버깅 등 컴퓨터 분야에서 폭넓게 쓰입니다.
사용 방법
정수로 된 10진수를 입력하세요. 예를 들어 255를 넣으면 16진수 값(FF)과 함께, 흔히 쓰는 0x 접두사 형태(0xFF)까지 보여 줍니다. 음수도 지원하며, 앞에 마이너스 기호를 붙여 표시합니다.
변환 원리 한눈에 보기
변환은 16으로 반복해서 나누는 방식을 사용합니다. 숫자를 16으로 나눠 나머지를 기록하고, 그 몫으로 같은 과정을 몫이 0이 될 때까지 반복합니다. 각 나머지는 16진수 한 자리에 대응합니다. 0~9는 그대로 두고, 10·11·12·13·14·15는 각각 A·B·C·D·E·F가 됩니다. 마지막에 나온 나머지부터 거꾸로 읽어 붙이면 최종 16진수 값이 됩니다.
$$\text{Hex} = \left( \text{Decimal} \right)_{10} \rightarrow \left( \sum_{i=0}^{k} d_i \cdot 16^{\,i} \right)_{16}, \quad d_i = \left\lfloor \frac{|\text{Decimal}|}{16^{\,i}} \right\rfloor \bmod 16$$
예제로 따라 하기
255를 변환해 보겠습니다. \(255 \div 16 = 15\), 나머지 15(F); \(15 \div 16 = 0\), 나머지 15(F). 아래에서 위로 읽으면 FF, 즉 0xFF가 됩니다. 4096도 해볼까요? \(4096 \div 16 = 256\), 나머지 0; \(256 \div 16 = 16\), 나머지 0; \(16 \div 16 = 1\), 나머지 0; \(1 \div 16 = 0\), 나머지 1. 따라서 결과는 1000입니다.
자주 묻는 질문(FAQ)
16진수에 왜 알파벳을 쓰나요? 16진수는 서로 다른 기호 16개가 필요합니다. 그런데 10진수에는 숫자가 0~9까지 10개뿐이라, 모자란 10~15 값을 A~F 알파벳으로 채워 표현하는 것입니다.
0x 접두사는 무슨 뜻인가요? C·자바·파이썬을 비롯한 많은 프로그래밍 언어에서 쓰는 표기 약속으로, 뒤에 오는 문자가 16진수 리터럴임을 나타냅니다.
소수나 분수도 변환할 수 있나요? 이 변환기는 정수를 다루며, 소수 부분은 변환 전에 잘라냅니다.