Ternärsystem

Das Ternärsystem, 3-adische System, auch Dreiersystem und selten triadisches System genannt, ist ein Stellenwertsystem zur Basis 3. Es kommt in drei Spielarten vor, als gewöhnliches Ternärsystem mit den Ziffern 0, 1 und 2 sowie als balanciertes Ternärsystem mit den Ziffern 0, 1 und −1; von eher theoretischem Interesse ist das negaternäre System mit der negativen Basis −3 und den Ziffern 0, 1 und 2.

Eine ternäre Ziffer wird auch als Trit (in Analogie zum Bit) und entsprechende eine Gruppe aus sechs Trits als Tryte bezeichnet. Im Jahr 1958 wurde in der Sowjetunion der ternäre Computer Setun entwickelt, der mit ternären Zahlen rechnete.[1]

Gewöhnlich

Eine Zahl wird im gewöhnlichen Ternärsystem durch eine Kombination der Ziffern 0, 1 und 2 dargestellt. Da Verwechslungen mit anderen Zahlendarstellungen, besonders mit dem Dezimalsystem auftreten können, wird eine Ternärzahl durch eine angehängte tiefgestellte 3 gekennzeichnet. Die einer Ternärzahl entsprechende Dezimalzahl kann wie im folgenden Beispiel errechnet werden:

Löst man die Potenzen auf, dann sieht die Gleichung so aus:

Die entsprechende, allgemeine Formel lautet

.

Hierbei ist die Ternärziffer an der Stelle (also entweder 0, 1 oder 2), die Anzahl der Nachkommastellen und die Nummer der höchsten Stelle. ist dann das Ergebnis, also der Wert der Ternärzahl. Diese Formel ist das gleiche wie die erste und die zweite lineare Formel im Artikel, nur eben anders dargestellt.

Weitere Beispiele von Zahlen im Ternärsystem und ihrer Entsprechung im Dezimalsystem:

  • 123 = 5
  • 1123 = 14
  • 1213 = 16

Man kann Zahlen im gewöhnlichen ternären System, wie Zahlen in anderen Stellenwertsystemen auch, zum Verständnis gut in einer Tabelle darstellen. Die Ziffer in einem Feld gibt an, wie oft die Zahl des Spaltennamens gezählt wird. Steht zum Beispiel in einem Feld der Spalte "3" eine "2", so muss man "3+3" oder "2∙3" rechnen, bei "1" unter "27" einfach "1∙27". Am Ende zählt man alle Einzelergebnisse der Zwischenrechnungen ("2∙3", "1∙27") zusammen und erhält die dezimale Zahl. Nullen die links der ersten 1 oder 2 stehen (führende Nullen), werden in der üblichen Schreibweise (Spalte zusammengesetzte Ternärzahl) nicht aufgeschrieben.

Zahl in Dezimal27 (33)9 (32)3 (31)1 (30)zusammengesetzte Ternärzahl
3210121012
4612011201
3001010
7002121
5001212
140112112

Balanciert

Eine Zahl im balancierten Ternärsystem[2] wird durch eine Kombination der Ziffern 0, 1 und −1 dargestellt. Die Ziffer −1 wird in diesem Artikel durch 1 wiedergegeben, eine andere Wiedergabe ist der Buchstabe T, oder auch eine umgestülpte (um 180° gedrehte) Ziffer 1: "1"[3]. Falls Verwechslungen auftreten können, wird eine balancierte Ternärzahl durch ein angehängtes tiefgestelltes "3bal" gekennzeichnet.

Beispiele für Zahlen im balancierten Ternärsystem und ihrer Entsprechung im Dezimalsystem:

  • 111 3bal = 5
  • 110 3bal = 6

Im balancierten Ternärsystem braucht man kein Vorzeichen. Um zur negativen Zahl überzugehen, vertauscht man alle Ziffern 1 mit 1 und alle Ziffern 1 mit 1.

1113bal = −5

Das Vorzeichen einer Zahl ist dasjenige ihrer höchstwertigen ternären Ziffer:

(1113bal) = 13bal = −1dez.

Auch hier kann man, wie für das gewöhnliche Ternärsystem gezeigt, die entsprechende Dezimalzahl ausrechnen:

110 3bal = 1·32 + (−1)·31 + 0·30 = 1·9 + (−1)·3 + 0·1 = 6dez.

Genau die Zahlen, die eine ganze Zahl plus 1/2 mal eine Potenz von 3 sind, haben zwei Darstellungen, so z. B.

0,1 3bal = 1,1 3bal = 1/2,

dabei bedeutet der Überstrich, dass die Gruppe der Ziffern darunter (die Periode) bis ins Unendliche zu wiederholen ist. Anders als bei den gewöhnlichen Stellenwertsystemen zur Basis , bei denen genau die abbrechenden Darstellungen zwei verschiedene Darstellungen haben, sind es hier die Brüche , deren Darstellung allerdings nicht abbricht.

Knuth hebt hervor, dass in balancierten Systemen das Runden und Abschneiden dieselbe Operation mit demselben Ergebnis ist.

Ein auf dem balancierten Ternärsystem und der balancierten ternären Logik aufbauender Computer war der Setun (russisch Сетунь) (s. Einleitung).

Vergleich mit dem Dezimalsystem und dem Binärsystem

DezimalBinärTernärTernär (balanciert)DezimalBinärTernärTernär (balanciert)
dezbin3bal3dezbin3bal3
0000
1111−1−1−11
210211−2–10–211
3111010−3–11–1010
41001111−4–100–1111
510112111−5–101–12111
611020110−6–110–20110
711121111−7–111–21111
8100022101−8–1000–22101
91001100100−9–1001–100100
101010101101−10–1010–101101
111011102111−11–1011–102111
121100110110−12–1100–110110
131101111111−13–1101–111111

Ternärcode mit Komma

Wird im Ternärsystem jede Ziffer als 2 Binärziffern, etwa 0 :=00 1 :=10 und 2 :=01, codiert, dann kann die Kombination 11 als Trennzeichen, als „Komma“, zwischen zwei derart dargestellten nicht-negativen Zahlen verwendet werden. Für die Zahlenfolge ergibt sich bspw. die Zeichenkette 1011001011100111. Dabei sind die einzelnen Codewörter variabel lang und little-endian notiert.

Bei einer angenommenen geometrischen Verteilung der natürlichen Zahlen ist bei diesem ternären Komma-Code .

Siehe auch

Literatur

Weblinks

Einzelnachweise

  1. Nikolay Petrovich Brusentsov, José Ramil Alvarez: Ternary Computers: The Setun and the Setun 70. In: J. Impagliazzo, E. Proydakov (Hrsg.): SoRuCom 2006, IFIP AICT 357. IFIP International Federation for Information Processing 2011, S. 74–80 (abgerufen am 9. Mai 2016).
  2. Knuth
  3. N.A.Krinitsky: Programming. Hrsg.: M.R.Shura-Bura. Moscow 1963, Chapter 10. Program-controlled machine Setun (russisch).