平衡三進位

平衡三進位制是一種非標準的計數進位制，它是一種基數為formula_1的進位制系統，其中用於計數的符碼為formula_2，與標準基數 3 進位制系統對比：其中的計數符號為formula_3。以平衡三進位制所記錄的數字可以表達出全部整數，由於formula_4的引入，而且對負數不必使用額外的負號；應用在於解決秤重問題，或在一些早期的計算機中使用。有些地方使用不同符碼來表示平衡三進制中的三個數符。本文中以 T來表示 formula_4。在 "Setun"計算機中 formula_4表示為倒轉的阿拉伯數字一：「1」。平衡三進位制在 Michael Stifel的書《Arithmetica Integra》中出現過。它也曾出現在 Kepler和 LéonLalanne 的作品中。對負數不必使用額外的負號這一點，使得平衡三進位制在四則運算的加、減、乘法效率，會比二進位制高。美國著名計算機學家高德納在《程式設計的藝術》一書中指出，“也許最美的進位制是平衡三進位制”。數的表示方法.整數的轉換.平衡三進位制和其他進位制一樣，各位的數字和位權相乘然後疊加起來，就是該數的數值。數字下標 bal3 表示為平衡三進位制，而下標 dec 則為十進位制：10bal3 = 1×31 + 0×30 = 3dec10Tbal3 = 1×32 + 0×31 + (-1)×30 = 8dec-9dec = -1×32 + 0×31 + 0×30 = T00bal38dec = 1×32 + 0×31 + (-1)×30 = 10Tbal3平衡三進位制不需要額外的符號就可以表示負數。左起第一位若非 0 而是 T 的即為負數，若是 1 的則是正數。在平衡三進制中，各位上的數字之和為偶數的整數是偶數；各位上的數字之和為奇數的整數是奇數。比如：小數.平衡三進位制和十進位制一樣，用小數點分隔整數部分和小數部分。在平衡三進制中，四捨五入和截位的操作是等效的。分數的小數化.平衡三進位制可以像十進位制一樣，可以用小數來表示分數，例如⅓=0.1bal3。與十進位制、二進位制類似，部分分數有兩種表達形式。在十進位制、二進位制中，最小的數碼是0，因此小數點後最右邊無限迴圈的0可以省略掉，從而變成一個整數或有限小數；而在平衡三進制中，小數點後最右邊無限迴圈的T不能省略，因而不能變成整數或有限小數。無理數.無論對於十進位制、平衡三進位制還是其他以有理數為底數的記數系統，所有的無理數都只能表示成無限不迴圈小數。下表列出了一些代數無理數和超越無理數的十進位制與平衡三進位制的表示。下面是另一個重要常數尤拉-馬斯刻若尼常數在十進位制與平衡三進制中的表示：十進位制到平衡三進位制的轉換.十進位制轉化為平衡三進位制，可參照下述方法，先圓整後，再分別對整數部分和小數部分進行連除法和連乘法即可。-25.4-25.4,圓整#為-25; ‡ 餘,-0.4;♦-25÷3=-8⅓, 圓整為- 8;餘,-1↑; ‡ -0.4×3=-1.2, 圓整為-1|;餘,-0.2;- 8÷3=-2⅔, 圓整為- 3;餘, 1|; ‡ -0.2×3=-0.6, 圓整為-1|;餘, 0.4;- 3÷3=-1 , 圓整為- 1;餘, 0|; ‡ 0.4×3= 1.2, 圓整為 1|;餘, 0.2;- 1÷3=- ⅓, 圓整為 0;餘,-1|; ‡ 0.2×3= 0.6, 圓整為 1↓;餘,-0.4;跳入迴圈-25.410=T01T.TT113當然，也可以採用另一種方法。-25.410=-(1T*1011+1TT*1010+11*101T)=-(1T*101+1TT+11/101)=-10T1.11TT=T01T.TT11三進位制計算機中數的表示.計算機的初期發展過程中，蘇聯有一些實驗性質的計算機，是以平衡三進位制而不是二進位制來設計製造的，其中最著名的是由尼古拉·布魯金索夫和謝爾蓋·索博列夫建造的 Сетунь。 與現在通行的二進位制相比，平衡三進位制的實驗性設計具有許多計算科學上的優勢。 特別是，正負一致性可以加快多位乘法中的進位速率，而捨入截斷當量則會減少對分數做捨入的進位次數。 在平衡三進制中，單一位數的乘法表不需用到進位，而加法表只會有兩個對稱進位而不是三個。注：以下部分以“'”為十進位制數萬位分隔符基本概念.位：對稱三進位制的數位；位元組：莫斯科大學的Сетунь以6位為1個位元組，單位元組整數的表示範圍為：-364~+364；字：參照二進位制，以2個位元組為1個字，單字整數的表示範圍為：-26'5720~+26'5720;整數.紐約州立大學在1973年開發的測試機Ternac，採用24位表示一個整數，表示範圍為-1412'1476'8240~+1412'1476'8240定點數.定點數的表示方法和整數一樣。只是會預先指定小數點的位置。比如採用48位表示一個實數，整數部分、小數部分各24位。則，表示範圍為-1412'1476'8240.5~+1412'1476'8240.5，精度為3-24浮點數.Ternac，採用48位表示一個實數，其中尾數42位，指數6位。參照IEEE754的浮點數表示法，對稱三進位制的表示法如下：1個符號位+指數域6位整數部分為1是正的規約數。表示範圍為0.5*3-364+0.5*3-405~0.5*3365-0.5*3323整數部分為0的是零附近的數，是非規約數。非規約數的指數固定為-364，指數域併入尾數。表示範圍為0.5*3-411-0.5*3-364~0.5*3-364-0.5*3-411，精度為0.5*3-411。邏輯常量.三進位制計算機，以三值邏輯為基礎，有三個邏輯狀態值——真、假、未知。我們用 formula_7 表示真、formula_6 表示未知，而 formula_14 則表示假。三進位制計算機中資訊的表示.三進位制計算機中，以平衡三進製為資訊進行編碼。我們可以以12位為單位，對文字進行編碼作為標準資訊交換碼。其容量為53'1441個字元，約是16bits容量的8.1倍。運算.加減乘除四則運算.平衡三進位制和二進位制一樣，乘法運算等效於移位疊加運算。單雙位平衡三進位制加法表、乘法表、除法表.1從上表中可以看出，雙位數相加可能會變成單位數，雙位數相減可能會變成三位數，雙位數相乘可能可能仍是雙位數。這種情況在十進位制和二進位制中不會發生。多位數的加減法.就是逐位做加減法。減法，亦可以逐位取反後，換做加法比如1TT1TT.1TT1 1TT1TT.1TT1 1TT1TT.1TT1 1TT1TT.1TT1+ 11T1.T - 11T1.T - 11T1.T -&gt; + TT1T.11T0T10.0TT1 1T1001.TTT1 1T1001.TTT1+ 1T + 1 T1 + T T11T1110.0TT1 1110TT.TTT1 1110TT.TTT1+ T + T 1 + T 11T0110.0TT1 01100T.TTT1 01100T.TTT1乘法.可以採用類似於十進位制的各種方法。比如1TT1.TT× T11T.11TT.1TTT11T.111TT1T.T1TT1TT+T11T110T0000T.10T除法.平衡三進位制的除法和十進位制的除法類似。但是，大家已經知道，0.5在平衡三進制中有0.11111…和1.TTTT…兩種表示式，也就是說，如果被除數超過除數的一半，商的當前位就要置1或T。1TT1.TTT11T.1 ) T0000T.10TT11T11T1T01TT1T111T1TT1TT00.1T11T.11T1.001TT.1T1T.T1T1T.T1T0開平方.平衡三進位制開平方和十進位制、二進位制類似。但和除法一樣，要比較的是半除數。例如：1. 1 1 T 1 T T 0 0 ...√1T 1111T0, 置 110T110 10T110111T10 TT1TT0T TT1TT0T&lt;TTT1T0, 置 T100TTT0 T001110111T1T0 T001TT0T T001TT0T&lt;TTT1T10, 置 T10T11110 T01TTTT0111T1TT0 T001T0T TTT1T110&lt;T001T0T&lt;111T1TT0, 置 0T111T1TT00 T001T000T TTT1T1100&lt;T001T000T&lt;111T1TT00, 置 0T111T1TT000 T001T00000T邏輯運算.以下是平衡三進位制邏輯運算真值表。