三進法とは
三進法とは、数を表現する方法の一つで、
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 + a0 + a(-1)3^(-
1) + a(-
2)
3^(-2) + ...
ここで、係数 `am` は0、1、2のいずれかの値を取ります。このとき、各桁の係数を並べたものが三進法での表現となります。
aNa(N-1)...a1a0.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