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
[Bearbeiten | Quelltext bearbeiten]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 "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 |
Balanciert
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]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 |
Ternärcode mit Komma
[Bearbeiten | Quelltext bearbeiten]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
[Bearbeiten | Quelltext bearbeiten]Literatur
[Bearbeiten | Quelltext bearbeiten]- Donald Knuth: The Art of Computer Programming. 3. Auflage. Band 2. Addison-Wesley, Boston 1998, ISBN 0-201-89684-2, Positional Number Systems, S. 194–213 (englisch).
Weblinks
[Bearbeiten | Quelltext bearbeiten]- Über den Setun-Computer (auf Englisch)
- Verschiedene Zahlensysteme ( vom 4. November 2007 im Internet Archive)
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ 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).
- ↑ Knuth
- ↑ N.A.Krinitsky: Programming. Hrsg.: M.R.Shura-Bura. Moscow 1963, Chapter 10. Program-controlled machine Setun (russisch).