Skip to main content
🟢 Beginner

16진수 ↔ 10진수 변환기

16진수를 10진수로, 10진수를 16진수로 변환합니다. 16진수 색상 코드도 지원합니다. 무료 수학 계산기로 즉각적인 결과를 얻으세요. 회원가입 불필요.

16진수 체계 이해하기

16진수(Hexadecimal, Hex)는 16개의 기호를 사용하는 16진법 수 체계입니다: 숫자 0~9와 문자 A~F(A=10, B=11, C=12, D=13, E=14, F=15). 16진수는 4개의 이진수(비트)가 정확히 하나의 16진수 자리에 대응하기 때문에, 이진 데이터를 사람이 읽기 쉬운 형태로 표현하는 방법으로 컴퓨터 분야에서 널리 사용됩니다.

16진수에서 각 자리는 16의 거듭제곱을 나타냅니다:

자리16³16²16¹16⁰
4,096256161

16진수 → 10진수 변환: 각 16진수 자리를 해당 자릿값(16의 거듭제곱)에 곱하고 합산합니다.

예시: 2F4A₁₆ = 2×4096 + F(15)×256 + 4×16 + A(10)×1 = 8,192 + 3,840 + 64 + 10 = 12,106

16진수는 프로그래밍에서 보통 0x 접두사를 붙이거나(예: 0x2F4A), 어셈블리 언어에서는 h 접미사를 사용합니다(예: 2F4Ah).

10진수를 16진수로 변환하기

10진수에서 16진수로의 변환은 2진수 변환과 동일한 반복 나눗셈 방법을 사용하되, 2 대신 16으로 나눕니다.

방법: 16으로 반복 나눗셈을 하면서 각 단계의 나머지를 기록합니다. 나머지 10~15는 A~F로 표기합니다. 나머지를 아래에서 위로 읽습니다.

예시: 1,500을 16진수로 변환

아래에서 위로 읽기: 5DC₁₆

검증: 5×256 + D(13)×16 + C(12)×1 = 1,280 + 208 + 12 = 1,500 ✓

예시: 255를 16진수로 변환 (1바이트의 최댓값)

결과: FF₁₆ — 이것이 코드에서 255가 0xFF로 표현되는 이유이며, CSS에서 흰색을 나타내는 #FFFFFF는 세 채널 모두 최댓값(255, 255, 255)을 사용합니다.

빠른 암산 변환 팁: 256 미만의 수의 경우, 16의 최대 배수(첫 번째 16진수 자리)와 나머지(두 번째 자리)로 분리합니다. 180 = 11×16 + 4 = B4₁₆. 200 = 12×16 + 8 = C8₁₆.

16진수 색상 코드: 웹 및 디자인 활용

16진수의 가장 일반적인 일상적 사용 중 하나는 CSS와 웹 색상 코드입니다. 색상은 #RRGGBB 형식으로 지정되며, RR, GG, BB는 각각 빨강, 초록, 파랑 채널의 두 자리 16진수 값(00~FF)입니다.

16진수 색상R (10진수)G (10진수)B (10진수)색상 설명
#000000000검정 (모든 채널 최솟값)
#FFFFFF255255255흰색 (모든 채널 최댓값)
#FF000025500순수 빨강
#00FF0002550순수 초록 (라임)
#0000FF00255순수 파랑
#FF57332558751선명한 주황-빨강
#4A90D974144217중간 하늘색
#808080128128128중간 회색 (각 채널의 50%)

각 채널(00~FF)은 256단계 × 3채널 = 16,777,216가지 색상(약 1,677만 색)을 제공합니다. 축약형 #RGB 표기법(예: #F5A)은 각 자리를 동일한 두 자리로 확장합니다: #FF55AA — 한 쌍의 두 16진수 자리가 동일할 때 CSS에서 사용됩니다.

현대 CSS는 투명도(알파 채널)가 있는 색상을 위해 #RRGGBBAA(8자리 16진수)도 지원하며, AA는 00(완전 투명)에서 FF(완전 불투명)까지의 불투명도를 정의합니다.

프로그래밍과 컴퓨팅에서의 16진수

16진수는 프로그래밍, 하드웨어 문서, 컴퓨터 과학 전반에 걸쳐 등장합니다:

메모리 주소: RAM과 프로세서 주소는 16진수로 표현됩니다. 64비트 메모리 주소는 0x7FFE0B4C3A20과 같은 형태입니다. 16진수는 기저 이진수를 압축하여 표현하며, 2개의 16진수 자리 = 정확히 1바이트이므로 주소 계산이 직관적입니다.

머신 코드 및 역어셈블리: CPU 명령어는 16진수 바이트로 인코딩됩니다. x86 명령어 MOV EAX, 0x42는 16진수 바이트 B8 42 00 00 00으로 컴파일됩니다.

ASCII 문자 인코딩: ASCII는 문자를 0~127 숫자에 매핑합니다. 16진수로: 'A' = 0x41, 'a' = 0x61, 공백 = 0x20, '0' = 0x30. 대문자는 0x41에서 시작하고 소문자는 0x61에서 시작하므로(차이 = 0x20 = 32), 문자를 0x20으로 XOR하면 대소문자가 전환됩니다.

IPv6 주소: 128비트 IPv6 주소는 4자리 16진수 8그룹으로 표기됩니다: 2001:0DB8:AC10:FE01:0000:0000:0000:0001.

오류 코드: Windows 블루 스크린 코드는 16진수입니다: 0x0000007E, 0xC0000005. UNIX errno 코드, 패킷 내 HTTP 상태 코드, BIOS POST 코드 등이 모두 16진수를 사용합니다.

2진수, 8진수, 10진수, 16진수: 완전 변환 참조표

컴퓨팅에서 사용되는 네 가지 수 체계와 상호 관계:

10진수2진수8진수16진수
0000000
1000111
2001022
4010044
81000108
10101012A
15111117F
160001 00002010
320010 00004020
640100 000010040
1281000 000020080
2551111 1111377FF
2560001 0000 0000400100
1,0240100 0000 00002,000400
65,5351111 1111 1111 1111177,777FFFF

빠른 변환 단축키:

실용적인 16진수 계산 및 팁

실제로 16진수를 다룰 때 유용한 몇 가지 기법:

16진수 덧셈: 열별로 더하고 합이 16에 달하면 올림수를 처리합니다. 예시: 3A + 2F:

URL 및 인코딩에서의 16진수: URL은 퍼센트 인코딩으로 특수 문자를 인코딩합니다: 공백은 %20(0x20 = 32 = ASCII의 공백)이 됩니다. @ 기호는 %40(0x40 = 64). ASCII 16진수 코드를 알면 인코딩된 URL을 해독하는 데 도움이 됩니다.

해시 함수는 16진수 출력: MD5는 128비트(32자리 16진수) 출력을 생성합니다. SHA-256은 256비트(64자리 16진수) 출력을 생성합니다. 이는 파일 다운로드를 체크섬으로 검증할 때 볼 수 있는 형태입니다.

자주 묻는 질문

16진수를 10진수로 어떻게 변환하나요?

각 16진수 자리에 자릿값(오른쪽부터 0번 자리 기준 16의 거듭제곱)을 곱하고 합산합니다. 예시: 1A3₁₆ = 1×256 + A(10)×16 + 3×1 = 256 + 160 + 3 = 419. 저희 계산기는 입력한 16진수 값에 대해 즉시 계산합니다.

10진수를 16진수로 어떻게 변환하나요?

16으로 반복 나눗셈을 하면서 각 단계의 나머지를 기록합니다. 나머지 10~15는 A~F로 표기합니다. 나머지를 마지막부터 처음 순서로 읽습니다. 예시: 255 ÷ 16 = 15, 나머지 15(F); 15 ÷ 16 = 0, 나머지 15(F) → 255 10진수 = FF 16진수.

16진수는 어디에 사용되나요?

16진수는 컴퓨팅 전반에 사용됩니다: 메모리 주소(0x7FF0E2A0), 웹 색상 코드(#FF5733), 머신 코드 및 이진 데이터, IPv6 네트워크 주소, 암호화 해시 출력(MD5, SHA-256), ASCII 문자 인코딩, Unix 파일 권한, BIOS 오류 코드 등.

16진수는 왜 A부터 F까지의 문자를 사용하나요?

16진수는 16진법으로, 16개의 고유한 기호가 필요합니다. 숫자 0~9가 처음 10개의 값을 담당하고, A~F 문자가 각각 10~15를 나타냅니다. 이 관습은 1960년대 컴퓨팅에서 표준화되었습니다.

0xFF는 10진수로 얼마인가요?

0xFF = F×16 + F×1 = 15×16 + 15 = 240 + 15 = 255. 이것은 8비트 바이트(부호 없음)의 최댓값입니다. 비트마스크, 최대 색상 채널 값(RGB는 채널당 0x00~0xFF 사용), 8비트 최댓값이 필요한 모든 곳에서 자주 나타납니다.

16진수 색상 코드를 어떻게 읽나요?

#4A90D9 같은 16진수 색상 코드는 세 쌍으로 분리됩니다: 4A(빨강), 90(초록), D9(파랑). 각각을 10진수로 변환: 4A = 4×16+10 = 74; 90 = 9×16+0 = 144; D9 = 13×16+9 = 217. 따라서 #4A90D9 = rgb(74, 144, 217) — 중간 하늘색. 값이 높을수록(FF/255에 가까울수록) 해당 색상 성분이 더 많이 포함됩니다.

0x 접두사와 # 접두사의 차이는 무엇인가요?

둘 다 16진수를 나타내지만 다른 맥락에서 사용됩니다. 0x(예: 0xFF, 0x1A3)는 프로그래밍 언어(C, C++, Java, Python, JavaScript 등)의 표준 접두사입니다. #는 웹/CSS 색상에만 사용됩니다(#FF5733). 어셈블리 언어에서는 h 접미사, 구형 시스템에서는 $ 접두사를 사용하기도 합니다.

2진수와 16진수를 빠르게 상호 변환하는 방법은?

이진수를 오른쪽부터 4비트씩 묶고, 각 그룹을 하나의 16진수 자리로 변환합니다. 4비트 = 정확히 하나의 16진수 자리이므로 산술 계산이 필요 없습니다. 예시: 이진수 1011 0100 1100₂ → 그룹: 1011|0100|1100 → B|4|C → B4C₁₆. 역방향도 동일합니다: 각 16진수 자리는 정확히 4개의 이진 자리로 확장됩니다.