三進法/ ˈ t ɜːrn əri /数体系(基数 3または三進法とも呼ばれる[ 1 ])は、基数が3である。
三進法は、多くの場合、3つの数字がすべて非負の数(具体的には0、1、2)であるシステムを指しますが、この形容詞はバランス三進法にも用いられます。バランス三進法は、-1、0、+1の3つの数字で構成され、比較論理や三進コンピュータで広く使用されています。
3進数は、ビットと同様にトリット(trit)と呼ばれます。1トリットは、 log 2 3(約1.58496)ビットの情報に相当します。[ 2 ]従来のハードウェアの仮定の下では、3はオイラー数(e )に最も近い整数であるため、基数経済の観点から、理論的には3進数の方が2進数よりも効率的です。[ 3 ]
バイナリニブルと同様に、トリブルは3つのトリットで構成されます。トリブルは27種類の異なる状態( 3³ = 27 )を保持でき、これは約4.75ビットの情報に相当します。トリブルは正確に27の状態を持つため、 27進数(基数27)の英数字表記では1文字で表すのが便利です。
バイナリバイトに類似して、トライトは通常 6 または 9 トリットとして定義されます。ソビエトSetunなどの初期の三進数コンピュータでは、トライトは 6 トリットと定義されていました。[ 4 ] 6 トリットのトライトは3 6 = 729の状態を保持し、約 9.5ビットの情報を運びます。これは、標準の 8 ビット バイナリ バイト (256 状態) よりかなり多いです。[ 5 ]現代の理論的なアーキテクチャでは、3 つのトリブルにきれいに分割できるため、9 トリットのトライト ( 3 9 = 19,683状態) が好まれることがよくあります。
3進ワードは、特定の3進アーキテクチャの標準レジスタ幅を表します。たとえば、Setunコンピュータは、9トリットのコマンドおよびメモリアーキテクチャで18トリットワードを使用して動作しました。[ 5 ]
データストレージ容量を拡大する場合、3進数演算の命名法はハードウェアアーキテクチャに応じて2つの異なる慣例に分かれます。
整数を3進数で表現すると、2進数ほどすぐに長くなりすぎることはありません。例えば、 10進数の365 10や6進数の1 405 6は、2進数の1 0110 1101 2(9ビット)と3進数の111 112 3 (6トリット)に対応します。しかし、10進数などの基数での対応する表現に比べると、依然としてコンパクトではありません。9 進数(基数9)と27進数(基数27)を使用して3進数をコンパクトに符号化する方法については、以下を参照してください 。
有理数に関しては、 3進法は1/3を6進法と同様に表現する便利な方法を提供します( 10進法では無限に繰り返される数字の列として表現される煩雑な方法とは対照的です)。しかし、大きな欠点は、2 には基数の約数ではない素因数があるため、3進法では 1/2 (1/4、1/8 なども同様) の有限表現ができないことです。基数2の場合と同様に、10分の1 ( 10進数1 / 10、6進数1/14 )は正確に表現できません (例えば、10進数が必要です)。6 分の1 ( 6進数1 / 10、10進数1/6 )も同様です。
nビットすべてが 1であるバイナリ数の値は2 n − 1です。
同様に、数についてもベース付きそして桁数はすべて最大桁値である。等比数列は次のように表すことができます。
乗算による収量:
引き算から境界値を分離します。
これを元の式に代入すると、任意の基数の最大値がバイナリの境界挙動と一致することを示す。
3桁の3進数の場合、。
9進数/ ˈ n ɒ n əri / (基数 9、各桁は 2 つの 3 進数) または7 進数 (基数 27、各桁は 3 つの 3 進数) は、 8 進数と16 進数が2 進数の代わりに使用されるのと同様に、3 進数をコンパクトに表現するために使用できます。

アナログ論理回路では、回路の状態はしばしば3値で表されます。これはCMOS回路や、トーテムポール出力を持つトランジスタ・トランジスタ論理回路で最もよく見られます。出力は、低(接地)、高、またはオープン(高インピーダンス)のいずれかであると言われます。この構成では、回路の出力は実際にはどの電圧基準にも接続されていません。信号が通常、特定の基準または特定の電圧レベルに接地されている場合、その状態はオープンであり、自身の基準に奉仕するため、高インピーダンスであると言われます。したがって、実際の電圧レベルは予測できない場合があります。
アメリカの野球(特に投手)の守備統計では、イニングの小数部分を表すために、珍しい「三項符号」が用いられることがある。攻撃側は1イニングにつき3アウトまで許されているため、各アウトは守備イニングのちょうど3分の1を表し、口語的には小数点の後にアウト数を続ける形で表記される。
例えば、ある選手が4回、5回、6回すべてを投げ、7回にちょうど2アウトを取った場合、投球回数(IP)の統計は3.2と表示されます。これは、3 + 2 / 3イニングの投球を表しています(伝統的な記録係が好む表記法です)。この特定のスポーツの文脈では、数値の小数部分のみが構造的に3進数で計算されます。[ 6 ]
三進数は、シェルピンスキー三角形やカントール集合のような自己相似構造を便利に表現するために使用できます。さらに、カントール集合の構成方法から、三進表現はカントール集合および関連する点集合を定義するのに役立つことがわかります。カントール集合は、数字の 1 を一切含まない三進式を持つ 0 から 1 までの点から構成されます。[ 7 ] [ 8 ]三進システムにおける任意の終端展開は、最初の式の最後の非ゼロ項の直前の項まで同じ式であり、その後に最初の式の最後の非ゼロ項より 1 少ない項が続き、最後に 2 が無限に続く式と同等です。たとえば、0.1020 は 0.1012222... と同等です。これは、最初の式の「2」までは展開が同じであり、2 番目の展開では 2 が減算され、2 番目の式では末尾のゼロが末尾の 2 に置き換えられているためです。
三進法は、基数効率が最も低い整数基数であり、二進法と四進法がそれに続きます。これは、数学定数eに近いことに起因します。この効率性の高さから、一部の計算システムで使用されています。また、電話のメニューシステムのように、どの分岐にも簡単にアクセスできる3つの選択肢を持つツリー構造を表すためにも使用されます。
バランスのとれた3進数(-1、0、+1の数字で構成される)として実装すると、この数体系は2進数に比べて明確な計算上の利点を提供する。最も注目すべきは、バランスのとれた3進数では明示的な符号ビットが不要になることである。これは、数の符号が本質的に最上位の非ゼロの数字によって決定されるためである。さらに、数学的な否定は非常に効率的であり、2進ハードウェアで必要とされる複雑な2の補数演算ではなく、単純な要素ごとの記号の反転(+1と-1の交換)のみを必要とする。[ 9 ]
符号付き二進数システムと呼ばれる冗長な二進数表現の一形式は、桁上がりを排除できるため、低レベルのソフトウェアやハードウェアで整数の高速加算を実現するために使用されることがある。[ 10 ]
バイナリコンピュータを使用した三値コンピュータのシミュレーション、または三値コンピュータとバイナリコンピュータ間のインターフェースでは、各トリットをエンコードするために 2 ビットまたは 3 ビットを使用するバイナリ符号化三値 (BCT) 数を使用することがあります。[ 11 ] [ 12 ] BCT エンコーディングは、バイナリ符号化十進数(BCD) エンコーディングに類似しています。トリット値 0、1、2 がそれぞれ 00、01、10 とエンコードされている場合、バイナリ符号化三値とバイナリ間のどちらの方向への変換も対数時間で実行できます。[ 13 ] BCT 演算をサポートするC コードのライブラリが利用可能です。[ 14 ]
{{cite book}}: CS1メンテナンス: 場所の発行元が見つかりません (リンク)