{{위키데이터 속성 추적}}
{{다른 뜻|삼진아웃법|수학의 삼진법|형법의 삼진법}}
{{기수법}}
'''삼진법'''(三進法, {{llang|en|Ternary, base 3}})은 [[3]]을 [[밑 (수학)|밑]]으로 하는 [[기수법]]이다. [[비트 (단위)|비트]]와 마찬가지로 삼진법은 "트리트"(Trit, '''Tri'''nary dig'''it''')라고 표기한다. 하나의 삼진법은 [[이진 로그]](log<sub>2</sub>) 3비트(약 1.58496비트)의 정보와 같다.

비록 삼진법 수가 음수가 아닌 모든 수를 가리키는 경우가 많지만 형용사는 균형잡힌 체계를 가리킨다. 특히 [[0]], [[1]], [[2]]의 형용사는 비교 논리와 [[3진법 컴퓨터]]에 사용되는 [[−1]], 0, +1을 구성하는 [[균형 3진법]] 체계에 이름을 부여한다.

== 기수법 ==
삼진법에서는 0, 1, 2의 합계 3개의 숫자를 사용하고, 3을 10, 4를 11…으로 표기한다. 3마다 자릿수가 올라가므로 3을 사용할 수 있는 N진법은 [[사진법]] 이후에 3을 사용할 수 있고 1/3이 분할되는 N진법은 [[육진법]] 이후가 된다. 자릿수 증가도 삼진법에서는 3의 거듭제곱으로 자릿수가 하나 늘어난다. 아래 표에 이진법(밑이 2), 삼진법(밑이 3), 육진법(밑이 2×3), 십진법(밑이 2×5)의 각 표기법의 차이를 게재한다.

{| class="wikitable" style="float:left;margin:1em;text-align:right"
|+수열의 진행 방법 (18까지)
! 이진법
! 삼진법
! 육진법
! 십진법
|-
|0||0||0||0
|-
|1||1||1||1
|-
|'''10'''||2||2||2
|-
|11||'''10'''||3||3
|-
|'''100'''||11||4||4
|-
|101||12||5||5
|-
|110||20||'''10'''||6
|-
|111||21||11||7
|-
|'''1000'''||22||12||8
|-
|1001||'''100'''||13||9
|-
|1010||101||14||'''10'''
|-
|1011||102||15||11
|-
|1100||110||20||12
|-
|1101||111||21|||13
|-
|1110||112||22||14
|-
|1111||120||23||15
|-
|'''10000'''||121||24||16
|-
|10001||122||25||17
|-
|10010||200||30||18
|}
{| class="wikitable" style="float:left;margin:1em;text-align:right"
|+수열의 진행 방법 (19 이후)
! 이진법
! 삼진법
! 육진법
! 십진법
|-
|10011||201||31||19
|-
|10100||202||32||20
|-
|10101||210||33||21
|-
|10110||211||34||22
|-
|10111||212||35||23
|-
|11000||220||40||24
|-
|11001||221||41||25
|-
|11010||222||42||26
|-
|11011||'''1000'''||43||27
|-
|100100||1100||'''100'''||36
|-
|110001||1211||121||49
|-
|110110||2000||130||54
|-
|'''1000000'''||2101||144||64
|-
|1010001||'''10000'''||213||81
|-
|1100100||10201||244||'''100'''
|}
{{-}}
{| class="wikitable" border="1" style="text-align:right"
|+삼진법의 자릿수
|- style="background:#ccccff"
! 자릿수 !! 삼진법의 자릿수 !! 이진수로 환산 !! 삼진수 !! 육진수로 환산 !! 십진수로 환산
|-
| 정수 7번째 자리 || 729번째 자리 || 1011011001 || 1000000 || 3213 || 729
|-
| 정수 6번째 자리 || 243번째 자리 || 11110011 || 100000 || 1043 || 243
|-
| 정수 5번째 자리 || 81번째 자리 || 1010001 || 10000 || 213 || 81
|-
| 정수 4번째 자리 || 27번째 자리 || 11011 || 1000 || 43 || 27
|-
| 정수 3번째 자리 || 9번째 자리 || 1001 || 100 || 13 || 9
|-
| 정수 2번째 자리 || 3번째 자리 || 11 || 10 || 3 || 3
|-
| 정수 1번째 자리 || 1번째 자리 || 1 || 1 || 1 || 1
|-
| 소수 1번째 자리 || 1/3번째 자리 || 1/11 || 0.1 || 0.2 || 1/3
|-
| 소수 2번째 자리 || 1/9번째 자리 || 1/1001 || 0.01 || 0.04 || 1/9
|-
| 소수 3번째 자리 || 1/27번째 자리 || 1/11011 || 0.001 || 0.012 || 1/27
|-
| 소수 4번째 자리 || 1/81번째 자리 || 1/1010001 || 0.0001 || 0.0024 || 1/81
|}

※ 자리수는 십진수로 표기한다.

=== 연산 ===
삼진법에서 설명한 [[덧셈]] 및 [[곱셈]] 표는 다음과 같다.

{| class="wikitable" style="float:left;margin:1em"
|+덧셈
|- style="background:#ccccff;"
! + !! 0 !! 1 !! 2
|-
! style="background:#ccccff;" | 0
| 0 || 1 || 2
|-
! style="background:#ccccff;" | 1
| 1 || 2 || 10
|-
! style="background:#ccccff;" | 2
| 2 || 10 || 11
|}
{| class="wikitable" style="float:left;margin:1em"
|+곱셈
|- style="background:#ccccff;"
! × !! 0 !! 1 !! 2
|-
! style="background:#ccccff;" | 0
| 0 || 0 || 0
|-
! style="background:#ccccff;" | 1
| 0 || 1 || 2
|-
! style="background:#ccccff;" | 2
| 0 || 2 || 11
|}
{{-}}

3은 2로 나누어지지 않기 때문에 [[홀수]]이다. 이 때문에 삼진법에서는 1/2를 0.<u>1</u>111…이라고 표기하기 때문에 "1÷[[짝수]]"가 모두 나눠지지 않는다. 삼진법이나 [[오진법]] 등의 홀수 진법은 1/2이 나누어지지 않기 때문에 그 어느 한 자리 수로 [[반올림]]을 실시하려고 할 때 예를 들어 육진법의 0.3이나 십진법의 0.5와 같이 "2로 나누면 같은 수가 나오지 않는다"는 특징을 갖는다. 또한 나중에 언급하는 평행삼진법에는 어떤 자리로 중단만 해도 "1 이하면 버리고 2 이상이면 올리는" 형식의 반올림이 된다는 특징을 갖는다. 그러나 다음 수인 3이 밑이 되어 있으므로 "3으로 나누면 같은 수가 나온다"라는 특징을 가진다. 이는 육진법의 0.2나 구진법의 0.3 등과 동일하다.

{| class="wikitable"
|+삼진법의 [[소수 (기수법)|소수]]와 [[나눗셈]]
![[단위분수]]!!제수의 [[소인수분해]]!![[삼진법|삼진]]소수!![[육진법|육진]]소수!![[십진법|십진]]소수
|-
|1/2||2||0.<u>1</u>111…||0.3||0.5
|-
|1/3||3||0.1||0.2||0.<u>3</u>333…
|-
|1/4||2{{위 첨자|2}}||0.<u>02</u>02…||0.13||0.25
|-
|1/5||5||0.<u>0121</u>…||0.<u>1</u>111…||0.2
|-
|1/6||2×3||0.0<u>1</u>11…||0.1||0.1<u>6</u>66…
|-
|1/7||7||0.<u>010212</u>…||0.<u>05</u>05…||0.<u>142857</u>…
|-
|1/8||2{{위 첨자|3}}||0.<u>01</u>01…||0.043||0.125
|-
|1/9||3{{위 첨자|2}}||0.01||0.04||0.<u>1</u>111…
|-
|1/10||2×5||0.<u>0022</u>…||0.0<u>3</u>333…||0.1
|-
|1/11||11||0.<u>00211</u>…||0.<u>0313452421</u>…||0.<u>09</u>09…
|-
|1/12||2{{위 첨자|2}}×3||0.0<u>02</u>02…||0.03||0.08<u>3</u>33…
|-
|1/16||2{{위 첨자|4}}||0.<u>0012</u>…||0.0213||0.0625
|-
|1/18||2×3{{위 첨자|2}}||0.00<u>1</u>11…||0.02||0.0<u>5</u>555…
|-
|1/20||2{{위 첨자|2}}×5||0.<u>0011</u>…||0.01<u>4</u>44…||0.05
|-
|1/25||5{{위 첨자|2}}||0.<u>00100201102212202112</u>…||0.<u>01235</u>…||0.04
|-
|1/27||3{{위 첨자|3}}||0.001||0.012||0.<u>037</u>…
|-
|1/36||2{{위 첨자|2}}×3{{위 첨자|2}}||0.00<u>02</u>02…||0.01||0.02<u>7</u>77…
|-
|1/64||2{{위 첨자|6}}||0.<u>0001021011122022</u>…||0.003213||0.015625
|-
|1/81||3{{위 첨자|4}}||0.0001||0.0024||0.<u>012345679</u>…
|}

※ 단위분수와 제수의 소인수분해는 십진수로 표기한다.

== 평형삼진법 ==
가중치를 갖는 각 자리의 값을 음수 쪽에도 돌리는 평형기수법의 가장 단순한 방식이다(같은 생각을 확장하면 평형오진법이나 평형칠진법을 생각할 수 있다). ''a<sub>m</sub>''의 값을 -1, 0, 1로 한다. 자릿수 기수법 안에 음수도 포함해 깨끗하게 표현할 수 있다는 성질이 있으며 [[도널드 커누스]]와 같이 "아마 모든 기수법 중 가장 아름답다"고 말하는 사람도 있다. 그러나 이진법 등과 비교해서 응용도 많지 않기 때문에 거의 쓰이지 않는다. 여기에서는 -1을 <math>\bar{1}</math>로 표시하도록 한다. 또한 이 표기법은 저울로 "1g, 3g, 9g, 27g의 분동을 이용하여 1 ~ 40g의 질량을 재는 방법"과도 비슷하다.

=== 평형삼진법의 연산 ===
평형삼진법에서는 통상과 약간 다른 [[연산 (수학)|연산]]이 필요하다. 덧셈, 곱셈의 결과는 다음과 같다.

{| class="wikitable" style="float:left;margin:1em"
|+덧셈
|- style="background:#ccccff;"
! + !! <math>\bar{1}</math> !! <math>0</math> !! <math>1</math>
|-
! style="background:#ccccff;" | <math>\bar{1}</math>
| <math>\bar{1}1</math> || <math>\bar{1}</math> || <math>0</math>
|-
! style="background:#ccccff;" | <math>0</math>
| <math>\bar{1}</math> || <math>0</math> || <math>1</math>
|-
! style="background:#ccccff;" | <math>1</math>
| <math>0</math> || <math>1</math> || <math>1\bar{1}</math>
|}
{| class="wikitable" style="float:left;margin:1em"
|+곱셈
|- style="background:#ccccff;"
! × !! <math>\bar{1}</math> !! <math>0</math> !! <math>1</math>
|-
! style="background:#ccccff;" | <math>\bar{1}</math>
| <math>1</math> || <math>0</math> || <math>\bar{1}</math>
|-
! style="background:#ccccff;" | <math>0</math>
| <math>0</math> || <math>0</math> || <math>0</math>
|-
! style="background:#ccccff;" | <math>1</math>
| <math>\bar{1}</math> || <math>0</math> || <math>1</math>
|}
{{-}}

윗자리에 영향을 미치는 것은 덧셈 2개 뿐이다. 이진과 마찬가지로 곱셈에서는 윗자리에 영향을 미치지 않는다. 뺄셈은 복잡해 보이지만 덧셈의 결과를 알고 있으면 어렵지 않다. 뺄셈에서는 <math>\bar{1}</math>와 <math>1</math>를 교체한 것을 더하는 방법도 유효하다. 다만 나눗셈은 귀찮은 편이다.

=== 일반적인 N진법과의 차이 ===
{| class="wikitable" style="margin:1em"
|- style="background:#ccccff;text-align:center;"
! rowspan="2" | 십진법
! rowspan="2" | 육진법
! rowspan="2" | 일반적인 삼진법
! colspan="2" | 평형삼진법
|- style="background:#ccccff;text-align:center;"
! [[양수 (수학)|양수]]
! [[음수]]
|-
| 0 || 0 || 0
|colspan="2"| <math>0</math>
|-
| 1 || 1 || 1 || <math>1</math> || <math>\bar{1}</math>
|-
| 2 || 2 || 2 || <math>1\bar{1}</math> || <math>\bar{1}1</math>
|-
| 3 || 3 || 10 || <math>10</math> || <math>\bar{1}0</math>
|-
| 4 || 4 || 11 || <math>11</math> || <math>\bar{1}\bar{1}</math>
|-
| 5 || 5 || 12 || <math>1\bar{1}\bar{1}</math> || <math>\bar{1}11</math>
|-
| 6 || 10 || 20 || <math>1\bar{1}0</math> || <math>\bar{1}10</math>
|-
| 7 || 11 || 21 || <math>1\bar{1}1</math> || <math>\bar{1}1 \bar{1}</math>
|-
| 8 || 12 || 22 || <math>10\bar{1}</math> || <math>\bar{1}01</math>
|-
| 9 || 13 || 100 || <math>100</math> || <math>\bar{1}00</math>
|}

== 활용 ==
특정 아날로그 논리에서는 회로의 상태가 삼진법으로 표현되는 경우가 많다. 이는 [[CMOS]] 회로 및 [[트랜지스터-트랜지스터 논리]](토템-폴(Totem-Pole) 출력)에서 가장 흔하게 볼 수 있다. 출력은 낮거나(접지됨), 높음 또는 열림(하이 Z(High-Z))이라고 한다. 이 구성에서 회로의 출력은 실제로 어떤 전압 기준에도 전혀 연결되지 않는다. 신호가 일반적으로 특정 기준 또는 특정 전압 레벨로 접지되는 경우 상태는 개방되어 있고 자체 기준을 제공하기 때문에 고임피던스라고 한다. 따라서 실제 전압 레벨을 예측할 수 없는 경우도 있다.

흔치 않은 "삼진 포인트"는 미국 [[야구]](보통 [[투수]]만을 위함)의 수비 통계로 이닝의 분수 부분을 나타낸다. 공격 팀은 3번의 [[아웃 (야구)|아웃]]이 허용되므로 각 아웃은 방어 이닝의 3분의 1로 간주되고 '''.1'''로 표시된다. 예를 들어 한 야구 선수가 4회, 5회, 6회를 모두 투구하여 7회에 2아웃을 달성한다면 해당 선수의 투구 이닝은 {{분수|3|2|3}}(일부 경기 기록관들이 대체적으로 사용하는 경우도 있음)에 해당하는 '''3.2'''로 표기될 것이다. 이 사용법에서는 숫자의 부분만 내부 형식으로 작성된다.<ref>{{웹 인용|url=https://www.blessyouboys.com/2019/1/9/18172095/baseball-stats-for-beginners-earned-run-average-field-independent-pitching-explained|제목=A complete beginner’s guide to baseball stats: Pitching statistics, and what they mean|저자=Ashley MacLennan|날짜=2019년 1월 9일|웹사이트=Bless You Boys|확인날짜=2020년 7월 30일}}</ref><ref>{{웹 인용|url=https://www.mlb.com/stats/team/pitching/innings-pitched?split=rp|제목=Stats - Team - Pitching|웹사이트=MLB (Major League Baseball)|확인날짜=2020년 7월 30일}}</ref>

삼진법 수는 [[시에르핀스키 삼각형]]이나 [[칸토어 집합]]과 같은 자기 유사 구조를 편리하게 전달하는데 사용될 수 있다. 또한 3번째 표현은 칸토어 집합이 구성되는 방식 때문에 칸토어 집합과 관련 점 집합을 정의하는 데 유용한 것으로 밝혀졌다. 칸토어 집합은 숫자 1의 어떤 인스턴스도 포함하지 않는 3차 식을 가진 0부터 1까지의 점들로 구성된다.<ref>{{저널 인용|이름=Mohsen|성=Soltanifar|제목=On A sequence of cantor Fractals|저널=Rose Hulman Undergraduate Mathematics Journal|권=7|호=1|id=Paper 9|날짜=2006년}}</ref><ref>{{저널 인용|이름=Mohsen|성=Soltanifar|제목=A Different Description of A Family of Middle–α Cantor Sets|저널=American Journal of Undergraduate Research|권=5|호=2|쪽=9–12|날짜=2006년}}</ref> 삼진 시스템의 모든 종단 팽창은 마지막 0이 아닌 항 이전의 항과 동일하고 그 다음에는 1번째 표현의 마지막 0이 아닌 항보다 작은 항, 그 다음에는 2개의 무한 꼬리가 있는 식과 같다. 예를 들어 0.1020은 0.1012222...와 같다. 1번째 식 "2"까지 확장이 동일하기 때문에 2번째 확장에서는 2개가 감소했고 2번째 식에서는 후행 0이 후행 2로 대체되었다.

삼진법은 가장 낮은 밑 경제(Radix economy)를 가진 정수의 밑이며 [[이진법]]과 [[사진법]]이 근접하게 뒤따른다. 이는 [[자연로그의 밑]](''e'')에 근접했기 때문이다. 이러한 효율성 때문에 일부 컴퓨팅 시스템에 활용되어 왔다. 또한 모든 분기에 간단한 경로를 허용하는 전화 메뉴 시스템과 같은 3가지 옵션 "트리"(Trees)를 나타내는 데에 사용된다. [[난해한 프로그래밍 언어]]인 [[말레볼제]]에서는 삼진법 [[가상 머신]]이 사용된다.

이중 이진수 표시와 [[부호화된 숫자 표현]] 방식 가운데 하나인 중복 이진 표현(Redundant binary representation)는 낮은 수준의 소프트웨어와 하드웨어에서 때때로 정수의 빠른 추가를 달성하는 데에 사용된다. 왜냐하면 캐리어를 제거할 수 있기 때문이다.<ref>{{저널 인용|성1=Phatak|이름1=D. S.|성2=Koren|이름2=I.|제목=Hybrid signed–digit number systems: a unified framework for redundant number representations with bounded carry propagation chains|저널=IEEE Transactions on Computers|날짜=1994년|권=43|호=8|쪽=880–891|doi=10.1109/12.295850|url=http://www.cs.umbc.edu/~phatak/publications/hsdtrc.pdf|citeseerx=10.1.1.352.6407}}</ref>

=== 이진 코드 삼진법 ===
2진법 컴퓨터를 활용한 3진법 컴퓨터 시뮬레이션, 또는 3진법 컴퓨터와 2진법 컴퓨터 사이의 인터페이스에는 각 삼진수를 인코딩하는 데에 2비트가 사용되는 이진화 삼진법(Binary-coded ternary, BCT) 숫자의 사용이 포함될 수 있다.<ref>{{저널 인용|성1=Frieder|이름1=Gideon|성2=Luk|이름2=Clement|제목=Algorithms for Binary Coded Balanced and Ordinary Ternary Operations|저널=IEEE Transactions on Computers|날짜=1975년 2월|권=C-24|호=2|쪽=212–215|doi=10.1109/T-C.1975.224188}}</ref><ref>{{저널 인용|성1=Behrooz|이름1=Parhami|이름2=McKeown|성2=Michael|제목=Arithmetic with Binary-Encoded Balanced Ternary Numbers|저널=Proceedings 2013 Asilomar Conference on Signals, Systems and Computers|날짜=2013년 11월 3일|위치=Pacific Grove, CA, USA|쪽=1130–1133|doi=10.1109/ACSSC.2013.6810470|isbn=978-1-4799-2390-8}}</ref> BCT 인코딩은 [[이진화 십진법]](Binary-coded decimal, BCD) 인코딩과 유사하다. 삼진법 값 0, 1, 2가 각각 00, 01, 10으로 인코딩된 경우에는 이진화 삼진법과 이진법 사이의 어느 방향으로든 변환은 로그 시간으로 수행될 수 있다.<ref>{{웹 인용|성=Jones|이름=Douglas W.|url=http://www.cs.uiowa.edu/~jones/ternary/bct.shtml|제목=Binary Coded Ternary and its Inverse|날짜=2016년 6월}}</ref> BCT 연산을 지원하는 [[C (프로그래밍 언어)|C 코드]]의 라이브러리를 이용할 수 있다.<ref>{{웹 인용|성=Jones|이름=Douglas W.|url=http://www.cs.uiowa.edu/~jones/ternary/libtern.shtml|제목=Ternary Data Types for C Programmers|날짜=2015년 12월 29일}}</ref>

=== 트라이트 ===
[[세툰]](Setun)과 같은 일부 [[3진법 컴퓨터]]는 "트라이트"(Tryte)를 6트리트<ref>{{서적 인용|url=https://books.google.com/books?id=-jSqCAAAQBAJ|제목=Perspectives on Soviet and Russian Computing: First IFIP WG 9.7 Conference, SoRuCom 2006, Petrozavodsk, Russia, July 3—7, 2006, Revised Selected Papers|성1=Impagliazzo|이름1=John|성2=Proydakov|이름2=Eduard|날짜=2011년 9월 6일|출판사=Springer|isbn=978-3-64222816-2}}</ref> 또는 약 9.5[[비트 (단위)|비트]]("사실상"의 [[이진법|이진]] [[바이트]]보다 더 많은 정보를 보유함)로 정의했다.<ref>{{웹 인용|성1=Brousentsov|이름1=N. P.|성2=Maslov|이름2=S. P.|성3=Ramil Alvarez|이름3=J.|성4=Zhogolev|이름4=E. A.|제목=Development of ternary computers at Moscow State University|url=http://www.computer-museum.ru/english/setun.htm|확인날짜=2010년 1월 20일}}</ref>

== 같이 보기 ==
* [[큐트리트]]
* [[세툰]]
== 각주 ==
{{각주}}

{{자료형}}

[[분류:컴퓨터 산술]]
[[분류:3진법 컴퓨터]]
[[분류:3]]