16진수 자릿값 참조표
16진수 각 자리는 0부터 15까지의 값 하나와 2진수 정확히 네 자리에 대응합니다.
| 16진수 자리 | 10진수 값 | 2진수 (4비트) |
|---|---|---|
| 0 | 0 | 0000 |
| 1 | 1 | 0001 |
| 4 | 4 | 0100 |
| 7 | 7 | 0111 |
| 9 | 9 | 1001 |
| A | 10 | 1010 |
| C | 12 | 1100 |
| F | 15 | 1111 |
- 입력은 피연산자당 16진수 12자리로 제한되며, 결과는 IEEE 754 배정밀도의 정확한 정수 범위(2^53 − 1) 안에 있어야 합니다. 더 큰 결과는 반올림하지 않고 거부됩니다.
- 뺄셈은 음수 결과를 낼 수 있으며 마이너스 기호와 함께 표시됩니다. 여기서는 2의 보수 표현을 사용하지 않습니다.
16진수 산술이란 무엇입니까?
16진법은 밑이 16인 위치 기수법입니다. 각 자릿수는 16의 거듭제곱을 나타내며, 열여섯 개의 기호는 0-9 다음에 A(10), B(11), C(12), D(13), E(14), F(15)가 옵니다. 16진수 1A는 10진수로 1×16 + 10 = 26이고, 2F는 2×16 + 15 = 47입니다.
16진수 산술은 10진수 산술과 같은 규칙을 따르되, 올림과 빌림이 10이 아니라 16에서 일어납니다. 16진수 자리 A와 F를 더하면 25가 되는데 이는 16진수로 19입니다. 9를 쓰고 1을 올립니다. 대부분의 사람은 10진수로 바꿔 계산한 뒤 되돌리는 방식을 더 쉽게 느끼는데, 이 계산기가 내부적으로 하는 일이 정확히 그것입니다.
16진법이 컴퓨팅에서 자리를 잡은 이유는 16 = 2^4이기 때문입니다. 16진수 한 자리가 2진수 정확히 네 자리에 대응하므로, 1바이트(8비트)는 항상 00부터 FF까지 두 자리 16진수가 됩니다. 메모리 주소, 색상 값, 체크섬, 원시 바이트 덤프는 관례적으로 16진수로 쓰며 흔히 0x 접두사를 붙입니다.
이 16진수 계산기 사용법
- 첫 번째 16진수를 입력합니다(숫자 0-9와 A-F, 0x 접두사는 선택적으로 허용됩니다).
- 연산을 선택합니다: 덧셈, 뺄셈, 곱셈 — 또는 첫 번째 수만 변환하는 변환 모드.
- 산술 연산의 경우 두 번째 16진수를 입력합니다.
- 결과를 16진수, 10진수, 2진수로 확인합니다. 변환 모드에서는 첫 번째 수의 10진수 및 2진수 형태가 표시됩니다.
16진수 산술의 원리
각 피연산자는 자리마다 16의 거듭제곱과 곱해져 10진수 값으로 평가되고, 연산은 그 10진수 값에 대해 수행되며, 결과는 반복 나눗셈으로 다시 16진수로 표현됩니다.
계산 예시: 1A + 2F. 10진수로 1A는 26, 2F는 47이므로 합은 73입니다. 되돌리면 73 ÷ 16 = 4 나머지 9이므로 73은 16진수로 49, 2진수로 1001001입니다. 자릿수별로 계산해도 같습니다. A + F = 25 = 16진수 19이므로 9를 쓰고 1을 올린 뒤, 1 + 2 + 1 = 4가 되어 16진수 49가 나옵니다.
흔히 저지르는 실수
- 16진수를 손으로 더할 때 16이 아니라 10에서 올리는 것 — A + F는 16진수 19(9를 쓰고 1 올림)이지 25가 아닙니다.
- 16진수를 10진수처럼 읽는 것: 16진수 10은 십이 아니라 열여섯이고, 16진수 100은 256입니다.
- 16진수 값을 옮겨 적을 때 문자 O와 숫자 0을, 또는 소문자 l과 1을 혼동하는 것.
- 1바이트가 정확히 16진수 두 자리라는 점을 잊는 것 — 앞의 0을 빼는 것(0x0F → F)은 수치상 문제없지만 고정 폭 바이트 표기를 깨뜨립니다.
자주 묻는 질문
16진수 두 개를 어떻게 더합니까?
10진수 덧셈과 똑같이 오른쪽부터 자리별로 더하되, 한 자리가 16에 도달하면 올림합니다. 1A + 2F의 경우 A(10) + F(15) = 25 = 16 + 9이므로 9를 쓰고 1을 올린 뒤 1 + 2 + 1 = 4가 됩니다. 결과는 16진수 49이며 10진수로는 73입니다.
숫자 앞의 0x는 무엇을 뜻합니까?
0x 접두사는 그 수가 16진수임을 표시해 10진수와 구분합니다. C 프로그래밍 언어에서 유래했으며 지금은 거의 보편적으로 쓰입니다. 0x1A는 16진수 1A, 즉 10진수 26을 뜻합니다. 이 계산기는 접두사가 있든 없든 16진수 입력을 받습니다.
16진수를 10진수로 어떻게 변환합니까?
각 16진수 자리의 값에 오른쪽 끝을 0으로 세는 자리의 16의 거듭제곱을 곱한 뒤 모두 더합니다. 2F는 2×16 + 15×1 = 47입니다. 1A3은 1×256 + 10×16 + 3×1 = 419입니다. 문자 A-F는 값 10-15를 나타냅니다.
16진수를 2진수로 어떻게 변환합니까?
각 16진수 자리를 4비트 2진수로 바꾸면 됩니다. 2F는 0010 1111이 됩니다. 16 = 2^4이므로 이 자리별 지름길이 통하며 별도의 산술이 필요 없습니다. 16진법이 2진 데이터의 약식 표기로 쓰이는 주된 이유가 바로 이것입니다.
이 계산기는 음수 16진수를 다룰 수 있습니까?
뺄셈은 음수 결과를 낼 수 있으며 앞에 마이너스 기호를 붙여 표시합니다(예: 5 − A = −5). 이 계산기는 프로세서가 내부적으로 쓰는 고정 폭 규약인 2의 보수 인코딩을 사용하지 않습니다. 2의 보수에서는 같은 비트 패턴이 큰 부호 없는 값일 수도, 음수 부호 있는 값일 수도 있습니다.
참고 자료
- Knuth DE. The Art of Computer Programming, Volume 2: Seminumerical Algorithms, 3rd edition, Addison-Wesley, 1997 — radix arithmetic and conversion.
- IEEE Std 754-2019. IEEE Standard for Floating-Point Arithmetic — exact-integer limits of double precision.