3進コンピュータ

2進数よりも3進数の方が効率がいいとして、計算なども同じように3進数の方が効率がいいのかについて考えてみたいと思います。
まず、8つのユニット◆を使って、2進数3桁、3進数2桁に割り振ります。2進数3桁だと0から7まで、3進数2桁だと0から8までの数を扱うことができます。3進数の方が少し有利です。
足し算の場合、2進数だと4種類の足し算があればいいようです。
0+0= 0
0+1= 1
1+0= 1
1+1=10

最初の桁の計算はこれでいいのですが、次の桁からは繰り上がりを考える必要があります。繰り上がりが無い場合は0を足す、繰り上がりがある場合は1を足すと考えられます。
0+0+0= 0
0+0+1= 1
0+1+0= 1
0+1+1=10
1+0+0= 1
1+0+1=10
1+1+0=10
1+1+1=11

計算の種類を1計算ユニットとすると、2進数3桁の場合は最初の桁に4個、2桁目と3桁目にそれぞれ8個で合計20計算ユニットがあればいいことになります。

次に3進数で2桁の場合はどうでしょう。最初の桁は3×3で9種類の計算が必要です。
0+0= 0
0+1= 1
0+2= 2
1+0= 1
1+1= 2
1+2=10
2+0= 2
2+1=10
2+2=11

次の桁は繰り上がりを考えますが、2の場合は無いので、2進数と同じく0と1の場合を考えればいいことがわかります。つまり18種類の計算です。
0+0+0= 0
0+0+1= 1
0+0+2= 2
0+1+0= 1
0+1+1= 2
0+1+2=10
0+2+0= 2
0+2+1=10
0+2+2=11
1+0+0= 1
1+0+1= 2
1+0+2=10
1+1+0= 2
1+1+1=10
1+1+2=11
1+2+0=10
1+2+1=11
1+2+2=12

3進数の2桁の計算の場合には最初の桁の9個、2桁目の18個で27計算ユニット必要になります。これは2進数3桁の20よりも7個も多いです。足し算については、2進数の方が3進数よりも効率がいいみたいです。
引き算の場合は、補数というのを求めてから足してやればいいので、基本的には足し算と同じです。ただし、補数を求めるのも2進数よりも3進数の方が複雑になります。
掛け算や割り算の場合は、足し算や引き算を繰り返す方法と、専用の乗算器や除算器を使う方法があります。どちらの場合でも、3進数の方が複雑になりそうで、計算の面では3進数にする利点というのは無さそうです。