삼십육진법
1. 개요
36진법은 36을 기수로 사용하는 위치 기수법으로, 0부터 9까지의 아라비아 숫자 10개와 A부터 Z까지의 알파벳 26개를 사용하여 총 36개의 숫자를 표현한다. 36진수는 6진법의 두 자릿수를 한 자릿수로 표현할 수 있어 데이터를 간결하게 나타내는 데 유용하며, 컴퓨터 과학, 정보통신, 데이터 처리 분야와 URL 단축 서비스 등에서 활용된다.
| 명칭 | 삼십육진법 |
|---|---|
| 로마자 표기 | samsipyukjinbeop |
| 종류 | 진법 |
| 밑 | 36 |
| 기호 | 0–9, A–Z |
| 설명 | 삼십육진법은 36을 밑으로 하는 기수법이다. 0부터 9까지의 숫자와 A부터 Z까지의 로마자를 사용하여 숫자를 표현한다. |
|---|
| 활용 | 짧은 URL 생성, 자동차 차대 번호 (VIN) 등 |
|---|
2. 표기법
36진법은 36을 밑으로 하는 위치 기수법이다. 0부터 9까지의 아라비아 숫자 10개와 A부터 Z까지의 ISO 기본 라틴 알파벳 26개를 사용하여 총 36개의 숫자를 사용한다. A부터 Z까지는 십진법의 10부터 35까지를 나타낸다.
36진법의 표기는 괄호 안에 숫자와 알파벳을 조합하여 표기하고, 아래첨자 36을 붙여 36진수임을 나타낸다. 예를 들어 (2B)36는 2 × 361 + 11 × 360 = 72 + 11 = 83을 나타낸다. (M0)36은 22 × 361 + 0 × 360 = 792이고, (B7)36 = 11 × 361 + 7 × 360 = 403을 나타낸다.
필기할 때 알파벳 'I'와 숫자 '1', 알파벳 'O'와 숫자 '0'은 혼동하기 쉬우므로, 사선이 있는 0을 사용하는 등의 주의가 필요하다. 인쇄의 경우에도 구별하기 어려운 폰트는 피해야 한다.
1296은 36진법에서 10036이 된다.
2.1. 10진수와의 비교
36진수와 10진수의 대응 관계는 다음과 같다.
| 10진수 | 36진수 |
|---|---|
| 0 | 0 |
| 1 | 1 |
| 2 | 2 |
| 3 | 3 |
| 4 | 4 |
| 5 | 5 |
| 6 | 6 |
| 7 | 7 |
| 8 | 8 |
| 9 | 9 |
| 10 | A |
| 11 | B |
| 12 | C |
| 13 | D |
| 14 | E |
| 15 | F |
| 16 | G |
| 17 | H |
| 18 | I |
| 19 | J |
| 20 | K |
| 21 | L |
| 22 | M |
| 23 | N |
| 24 | O |
| 25 | P |
| 26 | Q |
| 27 | R |
| 28 | S |
| 29 | T |
| 30 | U |
| 31 | V |
| 32 | W |
| 33 | X |
| 34 | Y |
| 35 | Z |
3. 변환
36진법은 숫자와 알파벳을 모두 사용한 표기법이며, 6진법 표기의 두 자릿수를 한 자릿수로 표현할 수 있다. 36진법은 10진법, 6진법 등 다른 진법들과 상호 변환이 가능하다.
| 36진 표기 | 6진 표기 | 10진 표기 |
|---|---|---|
| (0)36 | (0)6 | (0)10 |
| (1)36 | (1)6 | (1)10 |
| (2)36 | (2)6 | (2)10 |
| (3)36 | (3)6 | (3)10 |
| (4)36 | (4)6 | (4)10 |
| (5)36 | (5)6 | (5)10 |
| (6)36 | (10)6 | (6)10 |
| (7)36 | (11)6 | (7)10 |
| (8)36 | (12)6 | (8)10 |
| (9)36 | (13)6 | (9)10 |
| (A)36 | (14)6 | (10)10 |
| (B)36 | (15)6 | (11)10 |
| (C)36 | (20)6 | (12)10 |
| (D)36 | (21)6 | (13)10 |
| (E)36 | (22)6 | (14)10 |
| (F)36 | (23)6 | (15)10 |
| (G)36 | (24)6 | (16)10 |
| (H)36 | (25)6 | (17)10 |
| (I)36 | (30)6 | (18)10 |
| (J)36 | (31)6 | (19)10 |
| (K)36 | (32)6 | (20)10 |
| (L)36 | (33)6 | (21)10 |
| (M)36 | (34)6 | (22)10 |
| (N)36 | (35)6 | (23)10 |
| (O)36 | (40)6 | (24)10 |
| (P)36 | (41)6 | (25)10 |
| (Q)36 | (42)6 | (26)10 |
| (R)36 | (43)6 | (27)10 |
| (S)36 | (44)6 | (28)10 |
| (T)36 | (45)6 | (29)10 |
| (U)36 | (50)6 | (30)10 |
| (V)36 | (51)6 | (31)10 |
| (W)36 | (52)6 | (32)10 |
| (X)36 | (53)6 | (33)10 |
| (Y)36 | (54)6 | (34)10 |
| (Z)36 | (55)6 | (35)10 |
36진수에서 오른쪽 끝 또는 소수점은 일의 자리를 나타낸다. 왼쪽으로 한 자리씩 이동할 때마다 36배, 오른쪽으로 한 자리씩 이동할 때마다 36분의 1이 된다. 예를 들어 (24)36에서 왼쪽의 "2"는 72, 오른쪽의 "4"는 4를 나타내어 합쳐서 76이 된다.
3.1. 10진수에서 36진수로의 변환
10진수를 36진수로 변환하는 방법은 다음과 같다.
* 10진법으로 된 수를 36으로 나누어 나머지가 0~9이면 맨 뒷자리가 0~9이고, 10~35이면 A~Z이다.
:: 예) 32÷36=0•••32. 32-10(0~9까지 수의 개수)=23. (23번째 알파벳)=W, (10진수 32)=(36진수 W)
* 몫이 0~9이면 뒷자리는 0~9이고 10~35면 A~Z이다.
:: 예1) 77÷36=2•••5. (앞자리)=2, (뒷자리)=5, (10진수 77)=(36진수 25)
:: 예2) 444÷36=12•••12. (앞자리)=(12-10)번째 알파벳=B, (뒷자리)=(12-10)번째 알파벳=B, (10진수 444)=(36진수 BB)
* 3자리 이상일 경우 이 둘을 겹치면 된다.
:: 예1) 7777÷36=216•••1, 216÷36=6•••0, (맨 앞의 2자리)=60, (맨 뒷자리)=1, (10진수 7777)=(36진수 601)
:: 예2) 36963÷36=1026•••27, 1026÷36=28•••18, (맨 앞자리)=(28-10)번째 알파벳=R, (중간 자리)=(18-10)번째 알파벳=H, (맨 뒷자리)=(27-10)번째 알파벳=Q, (10진수 36963)=(36진수 RHQ)
:: 예3) 77777÷36=2160•••17, 2160÷36=60•••0, 60÷36=1•••24, (맨 앞자리)=1, (2번째 자리)=(24-10)번째 알파벳=N, (3번째 자리)=0, (맨 뒷자리)=(17-10)번째 알파벳=G, (10진수 77777)=(36진수 1N0G)
3.2. 36진수에서 10진수로의 변환
36진수를 10진수로 변환하는 방법은 다음과 같다.
* 10진수를 36으로 나누었을 때, 나머지가 0~9이면 36진수의 맨 뒷자리는 0~9이다.
* 예) 32÷36=0…32. 32는 10보다 크므로, 32-10(0~9까지 수의 개수)=22. 10부터 시작하여 22번째 알파벳은 W이므로, (10진수 32)=(36진수 W)이다.
* 10진수를 36으로 나누었을 때, 몫이 0~9이면 36진수의 뒷자리는 0~9이고, 10~35면 A~Z이다.
* 예1) 77÷36=2…5. (앞자리)=2, (뒷자리)=5, (10진수 77)=(36진수 25)
* 예2) 444÷36=12…12. 12는 10보다 크므로 (앞자리)=(12-10)번째 알파벳=B, (뒷자리)=(12-10)번째 알파벳=B, (10진수 444)=(36진수 BB)
* 3자리 이상일 경우 위 둘을 겹치면 된다.
* 예1) 7777÷36=216…1, 216÷36=6…0, (맨 앞의 2자리)=60, (맨 뒷자리)=1, (10진수 7777)=(36진수 601)
* 예2) 36963÷36=1026…27, 1026÷36=28…18, (맨 앞자리)={(28-10)번째 알파벳}=(18번째 알파벳)=R, (중간 자리)={(18-10)번째 알파벳)=(8번째 알파벳)=H, (맨 뒷자리)={(27-10)번째 알파벳}=(17번째 알파벳)=Q, (10진수 36963)=(36진수 RHQ)
* 예3) 77777÷36=2160…17, 2160÷36=60…0, 60÷36=1…24, (맨 앞자리)=1, (2번째 자리)={(24-10)번째 알파벳}=(14번째 알파벳)=N, (3번째 자리)=0, (맨 뒷자리)={(17-10)번째 알파벳}=(7번째 알파벳)=G, (10진수 77777)=(36진수 1N0G)
오른쪽 끝 또는 소수점이 일의 자리를 나타낸다. 숫자가 의미하는 수는 왼쪽으로 한 자리씩 이동할 때마다 36배가 되고, 오른쪽으로 한 자리씩 이동할 때마다 36분의 1이 된다. (24)36이라는 표기에서, 왼쪽의 "2"는 72를 나타내고, 오른쪽의 "4"는 4를 나타내어, 합쳐서 76을 나타낸다.
마찬가지로, (M0)36는 22×361 + 0×360 = 792를 나타내고, (B7)36 = 11×361 + 7×360 = 403을 나타낸다.
3.3. 6진수에서 36진수로의 변환
36진법은 6진법 표기의 두 자릿수를 한 자릿수로 표현할 수 있다는 특징을 가지고 있다.
| 36진 표기 | 6진 표기 | 10진 표기 |
|---|---|---|
| (0)36 | (0)6 | (0)10 |
| (1)36 | (1)6 | (1)10 |
| (2)36 | (2)6 | (2)10 |
| (3)36 | (3)6 | (3)10 |
| (4)36 | (4)6 | (4)10 |
| (5)36 | (5)6 | (5)10 |
| (6)36 | (10)6 | (6)10 |
| (7)36 | (11)6 | (7)10 |
| (8)36 | (12)6 | (8)10 |
| (9)36 | (13)6 | (9)10 |
| (A)36 | (14)6 | (10)10 |
| (B)36 | (15)6 | (11)10 |
| (C)36 | (20)6 | (12)10 |
| (D)36 | (21)6 | (13)10 |
| (E)36 | (22)6 | (14)10 |
| (F)36 | (23)6 | (15)10 |
| (G)36 | (24)6 | (16)10 |
| (H)36 | (25)6 | (17)10 |
| (I)36 | (30)6 | (18)10 |
| (J)36 | (31)6 | (19)10 |
| (K)36 | (32)6 | (20)10 |
| (L)36 | (33)6 | (21)10 |
| (M)36 | (34)6 | (22)10 |
| (N)36 | (35)6 | (23)10 |
| (O)36 | (40)6 | (24)10 |
| (P)36 | (41)6 | (25)10 |
| (Q)36 | (42)6 | (26)10 |
| (R)36 | (43)6 | (27)10 |
| (S)36 | (44)6 | (28)10 |
| (T)36 | (45)6 | (29)10 |
| (U)36 | (50)6 | (30)10 |
| (V)36 | (51)6 | (31)10 |
| (W)36 | (52)6 | (32)10 |
| (X)36 | (53)6 | (33)10 |
| (Y)36 | (54)6 | (34)10 |
| (Z)36 | (55)6 | (35)10 |
6진법 표기를 36진법 표기로 변환하는 방법은 다음과 같다.
# 6진법 표기를 오른쪽에서부터 두 자리씩 끊는다. 마지막(맨 왼쪽 부분)이 두 자리 미만일 경우, 비어있는 부분(왼쪽)에는 모두 0이 있다고 간주한다.
#* (34152)₆ → (3, 41, 52)₆ → (03, 41, 52)₆
# 각 부분을 36진법 표기로 변환한다.
#* (03)₆ = (3)₃₆ , (41)₆ = (P)₃₆ , (52)₆ = (W)₃₆
# 얻어진 36진법 표기를 나열하여 (3PW)₃₆을 얻는다.
이 방법은 자릿수에 관계없이 적용된다. 예를 들어, (502145010321413)₆는 (05, 02, 14, 50, 10, 32, 14, 13)₆이므로, (52AU6KA9)₃₆이 된다.
소수 부분의 변환 방법은 다음과 같다.
# 6진법 표기를 소수점을 기준으로 왼쪽에서부터 두 자리씩 나눈다. 마지막(최우측 부분)이 두 자리 미만일 경우, 비어 있는 부분(오른쪽)에는 모두 0이 있다고 간주한다.
#* (0.1203512)₆ → (0., 12, 03, 51, 2)₆ → (0., 12, 03, 51, 20)₆
# 각 부분을 36진법 표기로 변환한다.
#* (12)₆ = (8)₃₆ , (03)₆ = (3)₃₆ , (51)₆ = (V)₃₆ , (20)₆ = (C)₃₆
# 얻어진 36진법 표기를 나열하여 (0.83VC)₃₆를 얻는다.
따라서, (34152.1203512)₆ = (3PW.83VC)₃₆이다. 이 방법은 자릿수에 관계없이 적용 가능하다.
4. 활용
36진법은 "숫자와 영어 알파벳을 모두 사용한 표기법" 외에도, 6진법 표기의 두 자릿수를 한 자릿수로 표현할 수 있다는 특징이 있다. 이러한 특징으로 컴퓨터 과학, 정보통신, 데이터 처리 분야에서 사용되는 경우가 있다. 예를 들어 URL 단축 서비스(bit.ly) 등에서 활용되기도 한다. 36진법을 사용하면 데이터를 간결하게 표현하는 데 유용하다.