Try   HackMD

2017q3 Homework1(ternary)

contributed by <loolofen>

太久未動工,請追上進度
課程助教


Balanced Ternary 簡介

Balanced Ternary 是一種 ternary numeral system (Base 3) , 以 {

1,
0
,
1
} 表示,和 Base 2 系統差別在於 Balanced Ternary中每個trit皆可表示負值,若有需要使用到負數就不必以補數或其他方式,可以直接計算trit上的數值即可,減少計算複雜度。

其實在歷史上有出現過第一台現代的三進制電腦 Setun,是由前蘇聯莫斯科大學 Nikolay Brusentsov,比當時的 二進制電腦造價更低、耗能更少,但礙於當時蘇聯環境影響只能結束這項計畫,或許以後有甚麼新科技時,三進制電腦又會出現吧!


Balanced Ternary 特點

將三進位數值轉換為十進位數值通式為:

n=an×3n,
an
{
1
,
0
,
1
}

  • e.g.
     1T.1bal3=(1)×31+(1)×30+1×31=73dec

下表為 Balanced Ternary 轉換為十進制以及二進制(負數以

2complement 表示)對照表,可看出 Balanced Ternary,與 Binary 相較之下使用較少位元數,以及在負數表示時,只需要做個 inverse 的動作。
|Balanced Ternary|T1|T|0|1|1T|
|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|:-:|
|Decimal|-2|-1|0|1|2|
|Binary|1110|1111|0000|0001|0010|

根據 economical radix 爭對 radix 及 width 測量(下圖),在所有數字系統中以

e 經濟效益最高,不過在現實中要如何在表示 Base
e
是很困難的,所以只能找相近的數字,其中以 Base 3最接近,所以其實 Base 3是比 Base 2還來得更有經濟效益的。

中英文字間前後都要記得空白!
課程助教


Balanced Ternary 邏輯

AND

AND
0
+
0
0 0
+
0
+

OR

OR
0
+
0
+
0 0 0
+
+
+
+
+

XOR

XOR
0
+
0
+
0 0 0 0
+
+
0

Balanced Ternary 運算

加法

Sum
0
+
+
0
0
0
+
+
0
+
進位
Carry
0
+
:-: :-: :-: :-:
0 0
0 0 0 0
+
0 0
+
乘法
×
0
+
:-: :-: :-: :-:
+
0
0 0 0 0
+
0
+
除法
÷
0
+
:-: :-: :-: :-:
+
0 0 NAN 0
+
+

在GitHub 找到的應用案例


對既有工具進行修改


參考資料