본문으로 건너뛰기
CalcMax

16진수-10진수 변환기

계산 결과

10,815

10진수

자릿값
2×4096 + 10×256 + 3×16 + 15

16진수를 10진수로 바꾸는 변환기입니다. 2진수로 바꾸는 것과 달리 이쪽은 진짜 계산입니다. 16진수의 값은 각 글자에 그 자리가 나타내는 16의 거듭제곱을 곱한 뒤 모두 더한 값이며, 자리는 오른쪽 끝을 0번으로 셉니다. 2A3F는 끝자리가 F이므로 15이고, 그다음 자리의 3은 3×16, 그다음 자리의 A는 10×256, 맨 앞의 2는 2×4096입니다. 이를 더하면 10815가 됩니다. 이 계산이 틀리는 곳은 글자이고, 틀리는 방식은 두 가지입니다. 첫째, A를 10으로, F를 15로 바꾼 다음에 곱해야 합니다. A를 1로 읽으면 그럴듯해 보이지만 틀린 답이 나옵니다. 둘째, 글자가 나타내는 값에 자기 자리의 무게를 곱하므로 끝자리의 F는 15이고 한 자리 왼쪽의 F는 240입니다. 글자는 양이 아니라 계수입니다. 16의 거듭제곱은 이 페이지의 나머지 절반이며 모양을 알아 둘 만합니다. 1, 16, 256, 4096, 65536이 이어지고 각 값은 앞 값의 열여섯 배입니다. 이 목록에 16진수를 오른쪽에서 왼쪽으로 맞춰 읽는 편이 그 자리에서 거듭제곱을 계산하는 것보다 빠릅니다. 16이 2의 거듭제곱이라 이 값들은 2의 거듭제곱을 네 칸씩 건너뛴 것이기도 합니다. 16은 2의 4제곱, 256은 2의 8제곱, 65536은 2의 16제곱입니다. 그래서 네 비트를 담는 자리마다 16의 거듭제곱이 하나씩 대응합니다. 페이지는 답 옆에 합 전체를 인쇄하므로 항목별로 검산할 수 있습니다. 2×4096 + 10×256 + 3×16 + 15가 10815이고, 글자 하나를 잘못 읽으면 합이 처음 기대한 수로 돌아오지 않습니다. 이 페이지는 16진수 정수만 받으며, 0부터 9까지와 A부터 F까지 이외의 글자는 거부합니다.

맨 오른쪽 자리부터 받아들일 수 있는 가장 넓은 자리까지, 16의 거듭제곱

자리거듭제곱값
1316¹³4503599627370496
1216¹²281474976710656
1116¹¹17592186044416
1016¹⁰1099511627776
916⁹68719476736
816⁸4294967296
716⁷268435456
616⁶16777216
516⁵1048576
416⁴65536
316³4096
216²256
116¹16
016⁰1

16¹³부터 16⁰까지 열네 줄이고, 이 길이는 임의로 정한 것이 아닙니다. 열네 글자가 이 페이지가 받아들이는 가장 넓은 입력이라 표가 답이 쓸 수 있는 모든 자리를 덮고 멈춥니다. 표를 위에서 아래로 읽는 것은 답의 자리를 왼쪽에서 오른쪽으로 읽는 것이며, 첫 줄이 가장 왼쪽 글자이고 마지막 줄이 가장 오른쪽 글자입니다. 가운데 열은 자리를 거듭제곱으로 적은 것이고 위쪽 패널의 합이 곱하는 값이며, 셋째 열은 그 거듭제곱을 실제로 계산한 값이라 손으로 곱할 때 쓰는 수입니다. 이 값들은 2진수 페이지와 겹칩니다. 16은 2의 4제곱, 256은 2의 8제곱, 65536은 2의 16제곱인데, 16진수 한 글자가 네 비트를 담기 때문입니다. 그래서 같은 표가 네 비트 묶음을 비트가 아니라 수로 읽었을 때 얼마인지에 대한 답도 됩니다. 셋째 열의 수치는 세 자리마다 쉼표를 넣지 않고 그대로 인쇄되며, 표는 고정되어 있어 입력한 수를 따라가지 않습니다.

공식

2A3F = 2×16³ + 10×16² + 3×16¹ + 15×16⁰ = 2×4096 + 10×256 + 3×16 + 15 = 10815

2A3F
변환할 16진수입니다. 글자는 대소문자를 가리지 않으므로 2a3f와 2A3F는 같은 값이고, 앞에 붙은 0은 값을 바꾸지 않으며, 앞에 붙은 빼기 부호는 음수 결과를 만듭니다
16ⁿ
자리에 붙는 16의 거듭제곱이며 오른쪽 끝 글자를 0번으로 셉니다. 맨 오른쪽은 16⁰, 곧 1이고 그다음은 16¹, 곧 16이며, 왼쪽으로 한 칸 갈 때마다 자릿값이 다시 열여섯 배가 됩니다
2, 10, 3, 15
글자를 값으로 읽은 것이며, 곱하기 전에 A는 10으로 F는 15로 이미 바뀌어 있습니다. A를 1로 읽는 것이 이 줄이 막으려는 실수이고, 이 변환이 틀리는 가장 흔한 방식입니다
2×4096
합의 한 항입니다. 글자의 값에 그 자리의 거듭제곱을 곱한 것입니다. 0인 글자도 항을 이루지만 0을 곱한 항은 값을 바꾸지 않으므로 인쇄되는 합에서는 빠집니다
= 10815
항들을 모두 더한 값입니다. 다른 진법의 숫자열이 아니라 10진수이므로, 이 페이지의 답은 그대로 다음 계산에 쓸 수 있습니다
14글자
받아들이는 가장 넓은 입력이며 그 값이 1FFFFFFFFFFFFF입니다. 열네 글자가 되면 값이 9,007,199,254,740,991에 이르고, 그보다 넓으면 기계가 이웃한 정수를 구분하지 못하므로 긴 입력은 변환하지 않고 거부합니다

기계를 위해 적힌 수를 사람을 위해 적힌 수와 견줘야 할 때마다 16진수 값을 10진수로 읽게 됩니다. 색상 코드는 두 글자짜리 채널 셋으로 되어 있고, FF가 255이고 80이 128이라는 것을 알면 눈대중으로 색을 만지는 것과 수로 색을 만지는 것이 달라집니다. 크기도 같은 이야기입니다. 16진수 400은 1024이고 이는 익숙한 페이지 크기이며, 0x100000으로 인쇄된 메모리 맵은 두 번째 영역을 더해야 하는 사람에게 1048576바이트입니다. 체크섬을 확인하거나 해시 앞부분을 비교하거나 데이터시트의 마스크를 옮기는 사람이 이 변환을 하고, 16진수였음이 드러난 일련번호나 식별자를 읽는 사람도 이 변환을 합니다. 학습 과제에서는 16진수를 10진수로 바꾸라는 형태로 나오고 대개 거듭제곱을 적어 내라고 합니다. 이 페이지가 인쇄하는 합이 바로 그것이며, 글자마다 항이 하나씩 있고 글자는 이미 값으로 바뀌어 있습니다. 다른 도구가 낸 16진수 답을 어림잡아 확인해야 할 때도 이 읽기가 편합니다. 모든 값을 견줄 수 있는 하나의 수가 10진수 총합이기 때문입니다.

계산 예시

  1. 2A3F 읽기

    1. 글자 넷 아래에 16의 거듭제곱을 오른쪽부터 적습니다: 1, 16, 256, 4096
    2. 글자를 값으로 바꿉니다. A는 10이고 F는 15입니다
    3. 각각을 곱합니다. 2×4096은 8192, 10×256은 2560, 3×16은 48, 15×1은 15
    4. 네 항을 더합니다: 8192 + 2560 + 48 + 15 = 10815

    페이지가 처음 열릴 때 들어 있는 입력이며 두 글자를 모두 바꿔야 하는 경우입니다. A는 1이 아니고 F는 5가 아닙니다. 글자를 숫자인 것처럼 읽으면 2천쯤 되는 답이 나오는데, 차이가 커서 바로 눈에 띕니다. 더 까다로운 실수는 글자는 바르게 바꿨는데 잘못된 거듭제곱을 곱하는 쪽입니다.

  2. 한 바이트 가득, FF

    1. 글자가 둘이므로 자리는 16과 1의 값을 가집니다
    2. F는 15이므로 왼쪽 글자는 15×16 = 240을 보탭니다
    3. 오른쪽 글자는 15×1 = 15를 보탭니다
    4. 240 + 15 = 255

    글자 둘로 담을 수 있는 가장 큰 값이며, FF가 256이 아니라 255인 이유이기도 합니다. 범위가 00에서 시작하기 때문입니다. 색상 값이나 바이트 크기 필드, 정확히 두 글자인 16진수 문자열에서 자주 나오므로 이 짝은 통째로 외워 둘 만합니다.

  3. B2 읽기

    1. B는 11이므로 왼쪽 글자는 11×16 = 176을 보탭니다
    2. 오른쪽 글자는 2를 보탭니다
    3. 176 + 2 = 178

    B는 A 바로 위에 있으므로 10×16이 아니라 11×16입니다. B를 11로 읽는 것과 10으로 읽는 것의 차이는 열여섯이고, 이는 16진수 한 자리 전체에 해당합니다. 2진수 페이지들이 여덟 비트 예로 쓰는 값과 같으며, 2진법으로는 10110010입니다.

  4. 가장 큰 입력, 1FFFFFFFFFFFFF

    1. 글자가 열네 개이므로 자리는 16¹³부터 16⁰까지 이어집니다
    2. 맨 앞의 1은 16¹³의 값을 가지며 4503599627370496입니다
    3. F 열세 글자는 각각 15이고 자기 자리의 거듭제곱이 곱해집니다
    4. 열네 항을 더하면 9007199254740991

    이 합이 가질 수 있는 가장 넓은 형태이며, 10진수 페이지에서는 9,007,199,254,740,991로, 2진수 페이지에서는 쉰세 자리로 나타나는 것과 같은 상한입니다. 이 크기에서도 방법은 달라지지 않습니다. 같은 곱하기와 더하기를 열네 번 되풀이할 뿐이고, 그 사실이 이 예에서 가져갈 만한 것입니다.

한계

입력이 10진수가 아니라 16진수 문자열이라 거부할 소수점이 없습니다. 대신 0부터 9까지와 A부터 F까지 이외의 글자를 거부합니다. 입력은 열네 글자까지이고 그 값이 1FFFFFFFFFFFFF이며, 더 긴 문자열은 잘라서 받는 대신 메시지와 함께 거부합니다. 앞에 붙은 0은 받으며 값을 바꾸지 않고, 앞에 붙은 빼기 부호는 음수 결과를 만듭니다. 합은 자리에 대해서 계산되고 부호는 총합에 적용됩니다. 입력의 대소문자는 값을 바꾸지 않지만 자릿값의 합은 언제나 대문자로 인쇄됩니다. 아래 참고표는 16⁰부터 16¹³까지의 거듭제곱을 적어 둔 것이며 입력한 수를 따라가지 않습니다. 어느 자리가 얼마의 무게를 가지는지 찾아보라고 있는 표입니다. 표의 값은 세 자리마다 쉼표를 넣지 않고 그대로 인쇄되므로, 자릿수가 큰 값은 눈으로 자리를 세어 보아야 합니다. 결과로 나오는 10진수는 반대로 화면에서 세 자리마다 쉼표로 끊어 표시되며, 한국어에서 익숙한 네 자리 묶음과는 다릅니다. 16진수를 다시 10진수로 되돌리는 일은 별도의 페이지 몫이고, 이 페이지는 인쇄하는 합 말고 다른 계산을 하지 않습니다.

자주 묻는 질문

16진수를 10진수로 손으로 바꾸려면 어떻게 하나요?
글자 아래에 16의 거듭제곱을 적습니다. 오른쪽 끝이 1이고 왼쪽으로 한 칸 갈 때마다 열여섯 배가 됩니다. 그다음 글자마다 아래에 있는 거듭제곱을 곱해 모두 더하면 됩니다. 글자는 먼저 값으로 바꿔야 합니다. A는 10, B는 11, C는 12, D는 13, E는 14, F는 15입니다. 2A3F라면 2×4096 + 10×256 + 3×16 + 15가 되어 10815입니다.
A부터 F까지의 글자는 무슨 뜻인가요?
10부터 15까지의 값을 순서대로 나타냅니다. A가 10, B가 11, C가 12, D가 13, E가 14, F가 15입니다. 16진법은 한 자리에 글자 열여섯 개가 필요한데 10진 숫자는 열 개밖에 주지 않으므로 기호 여섯 개가 더 필요하고, 알파벳이 관례로 정해져 있습니다. 글자도 숫자와 똑같이 계수라서 F는 자기 자리의 무게에 15를 곱한 값이 됩니다. 끝자리에서 15이고 한 자리 왼쪽에서는 240입니다.
여기서 변환할 수 있는 가장 큰 16진수는 얼마인가요?
열네 글자까지입니다. 1FFFFFFFFFFFFF가 상한이고 9007199254740991로 변환되며, 이는 10진수 페이지들이 2진수 쉰세 자리라고 적는 것과 같은 경계입니다. 더 긴 문자열은 자르거나 반올림하지 않고 메시지와 함께 거부하는데, 그 폭을 넘으면 기계가 이웃한 정수를 구분해 담지 못해 답을 믿을 수 없기 때문입니다.
FF가 256이 아니라 255인 이유는 무엇인가요?
세는 것이 01이 아니라 00에서 시작하기 때문입니다. 16진수 두 글자는 00부터 FF까지 256가지 문자열을 만들 수 있으므로 담을 수 있는 가장 큰 값은 255이고, 이는 경우의 수보다 하나 작습니다. 같은 하나 차이가 2진수에서도 나타납니다. 여덟 비트가 0부터 255까지이므로 바이트를 가진 모든 언어에서 최대값이 255입니다.
16진수를 10진수로 바꾸는 것과 2진수로 바꾸는 것은 같은 건가요?
다릅니다. 2진수로 바꾸는 것은 계산이 필요 없는 대입이며 글자마다 네 비트가 되고 그것으로 끝입니다. 10진수로 바꾸는 것은 가중 합인데, 자리가 2의 거듭제곱이 아니라 16의 거듭제곱의 값을 가지기 때문입니다. 2A3F는 2×4096 + 10×256 + 3×16 + 15이고, 곱하기 전에 글자를 값으로 바꿔야 합니다. 같은 문자열의 2진수 결과는 10101000111111이며 두 답은 같은 양을 다르게 적은 것입니다.
16의 거듭제곱을 표로 실어 둔 이유는 무엇인가요?
그 거듭제곱이 합의 모든 항에 곱해지는 무게이고, 찾아보는 편이 그 자리에서 계산하는 것보다 빠르기 때문입니다. 표는 16⁰부터 16¹³까지 있고 이 페이지에서는 빠지는 자리가 없습니다. 열네 글자가 받아들이는 가장 넓은 입력이라 어떤 답도 표에 없는 자리를 쓰지 않습니다. 결과 패널의 합 옆에서 보면 어느 글자에 어느 무게가 붙는지 바로 알 수 있습니다.

참고 문헌

관련 계산기