Ternärsystem
Verfasst: Fr Sep 09, 2011 3:10 pm
Hallo zusammen,
dies ist mein erster Beitrag hier, obgleich ich schon seit etwa 2 Wochen hier "rumschnüffel".
An dieser Stelle noch kurz einen Dank für das C-Tutorial, welches mir den Einstieg in eure Welt um vieles erleichterte.
Nun zum Thema, Ternärsysteme: Mir geht es im Grunde darum eine Matrix zu speichern, bzw. zu bearbeiten, im welcher es drei Zustände geben kann. Wozu? Ich möchte Nonogramme erstellen und lösen. Im Prinzip ist die Speicherung ganzen aber ähnlich zu einem TicTacToe-Spiel, von welchem ich im weiteren auch erstmal ausgehe.
Mein erster Gedanke war einfach ein Array zu benutzen, hier [3][3], alsklein wie möglich lässt sich immer noch ein char hinterlegen. Das macht dann 3*3*8 = 72 Bit. OK, aber in einem Riesennonogramm kommt schon einiges mehr zusammen, erst recht wenn das ganze Ding dann noch die dritte Dimension für sich entdeckt.
Wenn es nur darum ginge den "Soll"-Zustand eines Nonogramms zu speichern, könnte ich das rein binär machen: 9 Felder ergeben 9 Bit, und damit ein Achtel des Speicherbedarf. Dazu kommt der Vorteil, dass ich mit Bitoperatoren hantieren könnte.
Aber ich will ja drei Zustände speichern, AN, AUS und Vielleicht, oder im Sinne von TicTacToe: AUS, X und O.
Wikipedia hat hier einen interessanten Artikel zum Thema "Dreiwertige Logik" wobei es verschiedene Systeme gibt, welche sich bei der Implikation unterscheiden.
Aber wie nutze ich das ganze nun für mich? Wie kann ich äquivalent zu binären Bitoperatoren ternär an meinen Zuständen manipulieren?
Vielleicht hat ja jemand Erfahrung mit sowas, oder kann mir das Brett vorm Kopf vor die Füße legen damit ich merke dass ich auf dem Holzweg bin...
/edit
Vielleicht ist das hier besser bei "Mathematik" aufgehoben?!?
dies ist mein erster Beitrag hier, obgleich ich schon seit etwa 2 Wochen hier "rumschnüffel".
An dieser Stelle noch kurz einen Dank für das C-Tutorial, welches mir den Einstieg in eure Welt um vieles erleichterte.
Nun zum Thema, Ternärsysteme: Mir geht es im Grunde darum eine Matrix zu speichern, bzw. zu bearbeiten, im welcher es drei Zustände geben kann. Wozu? Ich möchte Nonogramme erstellen und lösen. Im Prinzip ist die Speicherung ganzen aber ähnlich zu einem TicTacToe-Spiel, von welchem ich im weiteren auch erstmal ausgehe.
Mein erster Gedanke war einfach ein Array zu benutzen, hier [3][3], alsklein wie möglich lässt sich immer noch ein char hinterlegen. Das macht dann 3*3*8 = 72 Bit. OK, aber in einem Riesennonogramm kommt schon einiges mehr zusammen, erst recht wenn das ganze Ding dann noch die dritte Dimension für sich entdeckt.
Wenn es nur darum ginge den "Soll"-Zustand eines Nonogramms zu speichern, könnte ich das rein binär machen: 9 Felder ergeben 9 Bit, und damit ein Achtel des Speicherbedarf. Dazu kommt der Vorteil, dass ich mit Bitoperatoren hantieren könnte.
Aber ich will ja drei Zustände speichern, AN, AUS und Vielleicht, oder im Sinne von TicTacToe: AUS, X und O.
Wikipedia hat hier einen interessanten Artikel zum Thema "Dreiwertige Logik" wobei es verschiedene Systeme gibt, welche sich bei der Implikation unterscheiden.
Aber wie nutze ich das ganze nun für mich? Wie kann ich äquivalent zu binären Bitoperatoren ternär an meinen Zuständen manipulieren?
Vielleicht hat ja jemand Erfahrung mit sowas, oder kann mir das Brett vorm Kopf vor die Füße legen damit ich merke dass ich auf dem Holzweg bin...
/edit
Vielleicht ist das hier besser bei "Mathematik" aufgehoben?!?