三進法とは
三進法とは、数を表現する方法の一つで、
3を底(基数)とする位取り記数法です。普段私たちが使っている
十進法では
0から
9までの
10個の数字を使いますが、三進法では
0、
1、
2の
3つの数字だけを使います。数を
3の冪乗の和で表し、各桁には
0、
1、
2のいずれかが入ります。例えば、
十進法の「
10」は、三進法では「
101」と表現されます。
三進法の仕組み
任意の正の数は、以下のように
3の冪乗の和で表現できます。
aN
3^N + a(N-
1)
3^(N-
1) + ... + a
13 + a
0 + a(-
1)
3^(-
1) + a(-
2)
3^(-
2) + ...
ここで、係数 `am` は
0、
1、
2のいずれかの値を取ります。このとき、各桁の係数を並べたものが三進法での表現となります。
aNa(N-
1)...a
1a
0.a(-
1)a(-
2)...
小数点以下も同様に、
3の負の冪乗の和で表現できます。
三進法の位取り
三進法では、各桁が
3倍になるごとに桁が上がります。
十進法で「
3」は「
10」と表記し、「
4」は「
11」と表記します。
二進法、
六進法、
十進法との比較を以下の表に示します。
三進法の演算
三進法での加算と乗算は以下の表のようになります。
三進法では、`
1/
2 =
0.
1111...`となり、割り切れません。これは、三進法の底である
3が
奇数であるためです。
奇数進法では、
1/
2が割り切れないという特徴があります。しかし、三分の一については、
0.
1と割り切れる特徴を持ちます。
三進法の経済性
コンピュータで数を表現する際のコストを考えると、三進法が最も経済的であるという議論があります。N進法で
1桁を表現するコストがNに比例すると仮定すると、最大値Mを表現するためのコストは N logN(M) となります。この値は、Nが
ネイピア数eの時に最小になりますが、e進法は現実的ではありません。前後の整数では、
2進法と
4進法が同じ値で、
3進法が最も小さくなります。ただし、実際には二値素子の方が扱いやすく、三値素子は稀です。しかし、ソ連の
コンピュータ「Setun」では平衡三進法が使われていました。
平衡三進法
平衡三進法は、各桁の値を-
1、
0、
1とする記数法です。この方法では、負の数を表現するのに特別な記号は必要ありません。-
1は `
1̄`と表記します。例えば、
十進法の
4は、平衡三進法では「
11̄」と表されます。これは `
13^
1 + (-
1)
3^
0 =
3 -
1 =
2` となります。
平衡三進法は、ある桁で打ち切るだけで「一捨二入」の丸めになるという特徴があります。
平衡三進法の演算
平衡三進法の加算と乗算は以下のようになります。
減算は加算の結果を知っていれば簡単です。`
1̄`と`
1`を入れ替えて加算すれば良いです。しかし、除算は複雑です。
平衡三進法の特徴
平衡三進法は、数値を符号付きで直接表現できるため、計算機での実装が簡略化できる可能性があります。また、丸め処理が容易であるという利点があります。しかし、
二進法に比べて応用は少ないです。
三進法と3値論理
三進法と
3値論理は関連がありますが、同じではありません。
3値論理は、真、偽、不定の
3つの値を取る論理体系です。
3値論理には、様々な論理演算が提案されていますが、必ずしも三進法と対応するわけではありません。
3状態の素子を使う
コンピュータでも、必ずしも
3値論理の演算を持つとは限りません。
まとめ
三進法は、
3を底とする数の表現方法であり、
0、
1、
2の
3つの数字を使用します。経済的な面で注目されることがありましたが、二値素子の方が扱いやすいため、広く使われることはありませんでした。しかし、平衡三進法という特殊な表現方法もあり、特定の用途においてはその利点が活かされています。
関連項目
二進法
六進法
九進法
十
二進法
広義の記数法
参考文献
ヘンリー・S・ウォーレン・ジュニア『ハッカーのたのしみ』
ISBN 443404668
3