三進法

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索

三進法(さんしんほう)とは、3(てい)とし、底およびそのを基準にして数を表す方法である。

概要[編集]

任意の正の数は次のように表すことが出来る。

a_N3^N + a_{N-1}3^{N-1} + \cdots +
  a_1 3 + a_0 + {a_{-1}\over 3} + {a_{-2}\over 3^2} + \cdots

am は0,1,2のどれか)このとき、

a_Na_{N-1}\ldots a_1a_0.a_{-1}a_{-2}\ldots

と書くのが三進法である。

演算[編集]

十進法と同様の計算を行う。加算及び乗算の結果は次のようになる。

加算
  0 1 2
0 0 1 2
1 1 2 10
2 2 10 11
乗算
  0 1 2
0 0 0 0
1 0 1 2
2 0 2 11

減算除算は十進法と同様であり、加算及び乗算の結果を知っていれば計算できると思われるので省略する。

コンピュータでの使用[編集]

現在のコンピュータでは二進法が用いられている。 N 進法を用いた場合のコストが N に比例すると考えると、コストは logNM に比例すると考えられる。( Mレジスタが取りうる最大値に1を足したもの。)この式からもっともコストが小さくなるのは、 N=e のときと分る。( eネイピア数。)よってコストが最小になる整数は2か3であり、計算すると2より3の方が若干ではあるがコストが小さい。しかし、極めて小さい差であり、現実では3値論理の論理素子を実装するコストの大きさなどといった理由から、三進法の採用は極めて珍しい。

平衡三進法[編集]

amの値を-1,0,1とする方法である。負の数も表せるため便利であるが、日常使う十進法と勝手が違うためあまり使用されていない。ここでは-1を\bar{1}と表示することとする。この表記法は天秤で1g,3g,9g,27gの分銅を用いて1~40gのものの重さを量る方法とよく似ている。

演算[編集]

平衡三進法では通常と若干違う演算が必要である。加算、乗算の結果は次のようになる。

加算
  \bar{1} 0 1
\bar{1} \bar{1}1 \bar{1} 0
0 \bar{1} 0 1
1 0 1 1\bar{1}
乗算
  \bar{1} 0 1
\bar{1} 1 0 \bar{1}
0 0 0 0
1 \bar{1} 0 1

上の位に影響を及ぼすのは加算の2つだけである。二進と同様に乗算では上の位に影響を及ぼさない。減算は複雑そうに思えるが、加算の結果を知っていれば難しくない。減算では\bar{1}1を入れ替えたものを加算する方法も有効である。ただし、除算は厄介である。

それぞれの表記[編集]

十進表記 三進表記 平衡三進法
正の数 負の数
0 0 0
1 1 1 \bar{1}
2 2 1\bar{1} \bar{1}1
3 10 10 \bar{1}0
4 11 11 \bar{1}\bar{1}
5 12 1\bar{1}\bar{1} \bar{1}11
6 20 1\bar{1}0 \bar{1}10
7 21 1\bar{1}1 \bar{1}1 \bar{1}
8 22 10\bar{1} \bar{1}01
9 100 100 \bar{1}00

関連項目[編集]

参考文献[編集]

ヘンリー・S・ウォーレン、ジュニア『ハッカーのたのしみ』 ISBN 4434046683