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]
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:
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 "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 Dezimal | 27 (33) | 9 (32) | 3 (31) | 1 (30) | zusammengesetzte Ternärzahl |
---|---|---|---|---|---|
32 | 1 | 0 | 1 | 2 | 1012 |
46 | 1 | 2 | 0 | 1 | 1201 |
3 | 0 | 0 | 1 | 0 | 10 |
7 | 0 | 0 | 2 | 1 | 21 |
5 | 0 | 0 | 1 | 2 | 12 |
14 | 0 | 1 | 1 | 2 | 112 |
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:
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.
Das Vorzeichen einer Zahl ist dasjenige ihrer höchstwertigen ternären Ziffer:
Auch hier kann man, wie für das gewöhnliche Ternärsystem gezeigt, die entsprechende Dezimalzahl ausrechnen:
Genau die Zahlen, die eine ganze Zahl plus 1/2 mal eine Potenz von 3 sind, haben zwei Darstellungen, so z. B.
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).
Dezimal | Binär | Ternär | Ternär (balanciert) | Dezimal | Binär | Ternär | Ternär (balanciert) | |
---|---|---|---|---|---|---|---|---|
dez | bin | 3 | bal3 | dez | bin | 3 | bal3 | |
0 | 0 | 0 | 0 | |||||
1 | 1 | 1 | 1 | −1 | −1 | −1 | 1 | |
2 | 10 | 2 | 11 | −2 | –10 | –2 | 11 | |
3 | 11 | 10 | 10 | −3 | –11 | –10 | 10 | |
4 | 100 | 11 | 11 | −4 | –100 | –11 | 11 | |
5 | 101 | 12 | 111 | −5 | –101 | –12 | 111 | |
6 | 110 | 20 | 110 | −6 | –110 | –20 | 110 | |
7 | 111 | 21 | 111 | −7 | –111 | –21 | 111 | |
8 | 1000 | 22 | 101 | −8 | –1000 | –22 | 101 | |
9 | 1001 | 100 | 100 | −9 | –1001 | –100 | 100 | |
10 | 1010 | 101 | 101 | −10 | –1010 | –101 | 101 | |
11 | 1011 | 102 | 111 | −11 | –1011 | –102 | 111 | |
12 | 1100 | 110 | 110 | −12 | –1100 | –110 | 110 | |
13 | 1101 | 111 | 111 | −13 | –1101 | –111 | 111 |
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 .