平衡三進位制是一種非標準的計數進位制，它是一種基數為 3 的進位制系統，其中用於計數的符碼為 1 0 1，與標準基數 3 進位制系統對比：其中的計數符號為 0 1 2。以平衡三進位制所記錄的數字可以表達出全部整數，由於 1 的引入，而且對負數不必使用額外的負號；應用在於解決秤重問題 Reprinted in ，或在一些早期的計算機中使用。 有些地方使用不同符碼來表示平衡三進制中的三個數符。本文中以 T（連在 1 上方的負號）表示 1，而 0 和 1 表示自身。其他約定包括使用 和 分別表示 1 和 1，或使用希臘字母 Θ（於圓圈中的負號）來表示 1。在 Setun 計算機中 1 表示為倒轉的阿拉伯數字一：「」。 平衡三進位制在 Michael Stifel（1544）的書《Arithmetica Integra》中出現過。它也曾出現在 Kepler 和 LéonLalanne 的作品中。對負數不必使用額外的負號這一點，使得平衡三進位制在四則運算的加、減、乘法效率，會比二進位制高。美國著名計算機學家高德納在《程式設計的藝術》一書中指出，也許最美的進位制是平衡三進位制。 數的表示方法 整數的轉換 平衡三進位制和其他進位制一樣，各位的數字和位權相乘然後疊加起來，就是該數的數值。數字下標 bal3 表示為平衡三進位制，而下標 dec 則為十進位制： 10bal3 131 030 3dec 10Tbal3 132 031 130 8dec 9dec 132 031 030 T00bal3 8dec 132 031 130 10Tbal3 平衡三進位制不需要額外的符號就可以表示負數。左起第一位若非 0 而是 T 的即為負數，若是 1 的則是正數。 在平衡三進制中，各位上的數字之和為偶數的整數是偶數；各位上的數字之和為奇數的整數是奇數。 比如： 十進位制 平衡三進位制 轉換展開 十進位制 平衡三進位制 轉換展開 0 0 0 1 1 1 1 T 1 2 1T 31 2 T1 31 3 10 3 3 T0 3 4 11 31 4 TT 31 5 1TT 931 5 T11 931 6 1T0 93 6 T10 93 7 1T1 931 7 T1T 931 8 10T 91 8 T01 91 9 100 9 9 T00 9 10 101 91 10 T0T 91 11 11T 931 11 TT1 931 12 110 93 12 TT0 93 13 111 931 13 TTT 931 小數 平衡三進位制和十進位制一樣，用小數點分隔整數部分和小數部分。 十進位制 09 08 07 06 05 04 03 02 01 0 平衡三進位制 T010T T1TT1 T10T0 T11TT 0T or T1 0TT11 0T010 0T11T 00T01 0 十進位制 09 08 07 06 05 04 03 02 01 0 平衡三進位制 10T01 1T11T 1T010 1TT11 01 or 1T 011TT 010T0 01TT1 0010T 0 在平衡三進制中，四捨五入和截位的操作是等效的。 分數的小數化 平衡三進位制可以像十進位制一樣，可以用小數來表示分數，例如 ⅓01bal3。 十進位制分數 平衡三進位制 平衡三進位制 十進位制分數 平衡三進位制 平衡三進位制 11 1 1 111 001T11 001T11 12 01 1T 112 001T 001T 13 01 01 113 001T 001T 14 01T 01T 114 001T0T1 001T0T1 15 01TT1 01TT1 115 001TT1 001TT1 16 001 01T 116 001TT 001TT 17 00110TT 00110TT 117 001TTT10T0T111T01 001TTT10T0T111T01 18 001 001 118 0001 001T 19 001 001 119 000111T10100TTT1T0T 000111T10100TTT1T0T 110 0010T 0010T 120 00011 00011 十進位制分數 平衡三進位制 平衡三進位制 十進位制分數 平衡三進位制 平衡三進位制 01 0 0 1011 10T1TT 10T1TT 12 01 1T 1112 10T1 10T1 23 01 01 1213 10T1 10T1 34 01T 01T 1314 10T101T 10T101T 45 01TT1 01TT1 1415 10T11T 10T11T 56 10T 1T1 1516 10T11 10T11 67 10TT011 10TT011 1617 10T111T0101TTT10T 10T111T0101TTT10T 78 10T 10T 1718 100T 10T1 89 10T 10T 1819 100TTT1T0T00111T101 100TTT1T0T00111T101 910 10T01 10T01 1920 100TT 100TT 與十進位制、二進位制類似，部分分數有兩種表達形式。在十進位制、二進位制中，最小的數碼是 0，因此小數點後最右邊無限迴圈的 0 可以省略掉，從而變成一個整數或有限小數；而在平衡三進制中，小數點後最右邊無限迴圈的 T 不能省略，因而不能變成整數或有限小數。 無理數 無論對於十進位制、平衡三進位制還是其他以有理數為底數的記數系統，所有的無理數都只能表示成無限不迴圈小數。下表列出了一些代數無理數和超越無理數的十進位制與平衡三進位制的表示。 代數數 十進位制 平衡三進位制 sqrt 2 141421356237309 1414 111T1TT00T00T01T0T00T00T01T sqrt 3 173205080756887 1732 1TT1TT10T0000TT1100T0TTT011T sqrt 5 22360679774997 2236 1T1T0101010TTT1TT11010TTT01T φ（黃金分割， tfrac 1sqrt 52） 16180339887498 1618 1TT0TT01TT0T10TT11T0011T1001 超越無理數 十進位制 平衡三進位制 π（圓周率） 31415926535897932384626433 31416 10011T111T000T011T1101T11111 e（自然對數的底） 2718281828459045 2718 10T0111TT0T0T111T0111T000T11 下面是另一個重要常數尤拉 馬斯刻若尼常數在十進位制與平衡三進制中的表示（現在仍無法確定其是有理數還是無理數）： 數 十進位制 平衡三進位制 γ（尤拉 馬歇羅尼常數） 057721566490153 0577 1TT1TT1T1010001T0T00111TTT0 十進位制到平衡三進位制的轉換 十進位制轉化為平衡三進位制，可參照下述方法，先圓整後，再分別對整數部分和小數部分進行連除法和連乘法即可。 254 254 圓整 為 25 餘，04 2538⅓ 圓整為 8 餘，1 04312 圓整為 1 餘，02 832⅔ 圓整為 3 餘，1 02306 圓整為 1 原為 0 底下進 T 則為 T 餘，06 331 圓整為 1 餘，0 063 18 圓整為 1 原為 1 底下進 T 為 2 再改為 1 再向上進 T 餘，08 13 ⅓ 圓整為 0 餘，1 083 24 圓整為 1 原為 22 改為 1 向上進 T 餘，04 跳入迴圈 25410T01TTT113 圓整到最近的整數 當然，也可以採用另一種方法。 254101T10111TT101011101T 1T1011TT11101 10T111TT T01TTT11 三進位制計算機中數的表示 計算機的初期發展過程中，蘇聯有一些實驗性質的計算機，是以平衡三進位制而不是二進位制來設計製造的，其中最著名的是由尼古拉布魯金索夫和謝爾蓋索博列夫建造的 Сетунь。 與現在通行的二進位制相比，平衡三進位制的實驗性設計具有許多計算科學上的優勢。 特別是，正負一致性可以加快多位乘法中的進位速率，而捨入截斷當量則會減少對分數做捨入的進位次數。 在平衡三進制中，單一位數的乘法表不需用到進位，而加法表只會有兩個對稱進位而不是三個。 注：以下部分以 為十進位制數萬位分隔符 基本概念 位（trit）：對稱三進位制的數位； 位元組（tryte）：莫斯科大學的Сетунь以 6 位為 1 個位元組，單位元組整數的表示範圍為：364364； 字（word）：參照二進位制，以 2 個位元組為 1 個字，單字整數的表示範圍為：265720265720 整數 紐約州立大學在 1973 年開發的測試機 Ternac，採用 24 位表示一個整數，表示範圍為 141214768240141214768240 定點數 定點數的表示方法和整數一樣。只是會預先指定小數點的位置。 比如採用 48 位表示一個實數，整數部分、小數部分各 24 位。則，表示範圍為 14121476824051412147682405，精度為 324（3541012） 浮點數 Ternac，採用 48 位表示一個實數，其中尾數 42 位，指數 6 位。 參照 IEEE754 的浮點數表示法，對稱三進位制的表示法如下： 1 個符號位（整數部分） 尾數域 41 位（小數部分） 指數域 6 位 整數部分為 1 是正的規約數。表示範圍為 053364053405053365053323 整數部分為 0 的是零附近的數，是非規約數。非規約數的指數固定為 364，指數域併入尾數。表示範圍為 053411053364053364053411，精度為 053411。 邏輯常量 平衡三進位制 邏輯狀態 標準三進位制 1 True 2 0 Unknown 1 T False 0 三進位制計算機，以三值邏輯為基礎，有三個邏輯狀態值 真、假、未知。我們用 1 表示真、0 表示未知，而 T 則表示假。 三進位制計算機中資訊的表示 三進位制計算機中，以平衡三進製為資訊進行編碼。 我們可以以 12 位為單位，對文字進行編碼作為標準資訊交換碼（STUCII，Standard Ternary Unified Code for Information Interchange）。其容量為 531441 個字元，約是 16bits 容量的 81 倍。 運算 加減乘除四則運算 平衡三進位制和二進位制一樣，乘法運算等效於移位疊加運算。 單雙位平衡三進位制加法表、乘法表、除法表 classwikitable stylewidth 10px height 10px textalign center TT T0 T1 T 0 1 1T 10 11 11 0 1 1T 10 11 1TT 1T0 1T1 10T 10 T 0 1 1T 10 11 1TT 1T0 1T T1 T 0 1 1T 10 11 1 T0 T1 T 0 1 1T 0 TT T0 T1 T 0 1 T T11 TT T0 T1 T 0 T1 T10 T11 TT T0 T1T T10 TT T01 注：減法是左列減去頂行，除法是左列除以頂行 1 從上表中可以看出，雙位數相加可能會變成單位數，雙位數相減可能會變成三位數，雙位數相乘可能可能仍是雙位數。這種情況在十進位制和二進位制中不會發生。 多位數的加減法 就是逐位做加減法。 減法，亦可以逐位取反後，換做加法 比如 1TT1TT1TT1 1TT1TT1TT1 1TT1TT1TT1 1TT1TT1TT1 11T1T 11T1T 11T1T TT1T1 1T0T100TT1 1T1001TTT1 1T1001TTT1 1T T T1 T T1 1T11100TT1 1110TTTTT1 1110TTTTT1 T T 1 T 1 1T01100TT1 01100TTTT1 01100TTTT1 乘法 可以採用類似於十進位制的各種方法。 比如 1TT1TT T11T1 1TT1TT T11T11 1TT1TT 1TT1TT T11T11 0T0000T10T 除法 平衡三進位制的除法和十進位制的除法類似。 但是，大家已經知道，05 在平衡三進制中有 011111 和 1TTTT 兩種表示式，也就是說，如果被除數超過除數的一半，商的當前位就要置 1 或 T。 1TT1TT T11T1 T0000T10T T11T1 1T1T0 1TT1T 111T 1TT1T T001 T11T1 1T100 1TT1T 1TT1T 1TT1T 0 開平方 平衡三進位制開平方和十進位制、二進位制類似。但和除法一樣，要比較的是半除數。例如： 1 1 1 T 1 T T 0 0 1T 11T11 置 1 1 10 10T 10T010 置 1 1T0 1T0 110 1T0T 1T0T110 置 1 10T0 10T0 1110 T1T0T T1T0TTTT0 置 T 100T0 T0010 111T0 1TTT0T 1TTT0T111T0 置 1 10T110 10T110 111T10 TT1TT0T TT1TT0TTTT1T0 置 T 100TTT0 T001110 111T1T0 T001TT0T T001TT0TTTT1T10 置 T 10T11110 T01TTTT0 111T1TT0 T001T0T TTT1T110T001T0T111T1TT0 置 0 T 111T1TT00 T001T000T TTT1T1100T001T000T111T1TT00 置 0 T 111T1TT000 T001T00000T 邏輯運算 以下是平衡三進位制邏輯運算真值表。 classwikitable stylewidth 8em textalign center T 0 1 T T T T 0 T 0 0 1 T 0 1 另見 三進位 三值邏輯 康托爾集 Setun 計算機 參考文獻 外部連結 Standard Ternary Logic Balancedternary Category 進位制 Category 三進位電腦 Category 非標準進位制系統