Hallo zusammen,
ich suche ein Programm, um Zeichenketten (die nur aus 0 und 1 bestehen) zu vergleichen.
Ich weiß nicht genau, wie ich das erklären soll, daher mal ein kurzes Beispiel:
Nehmen wir mal an, ich hätte ein Programm, welches zum Speichern eines Spielstands nur Booleans benutzt und die als String mit Nullen und Einsen speichert. Dann könnte der gespeicherte String so aussehen:
"1101010100"
Ein anderer String (neuer Spielstand) könnte z. B. so aussehen:
"0110011001"
Ich bekomme nun im Programm angezeigt, "Einstellung XY ist aktiv" oder "Einstellung XY ist inaktiv". (Ob "aktiv" für 1 oder für 0 steht, weiß ich nicht)
Wenn der Spielstand wirklich nur aus 10 Bits bestehen würde, könnte ich leicht von Hand herausfinden, welches Bit für Einstellung XY steht. In Wirklichkeit besteht der aber aus 512 Bits.
Was ich jetzt suche, ist ein Programm, was folgendes tut:
1. Ich füge einen der Spielstand-Strings ein.
2. Ich gebe an, ob in diesem Spielstand Einstellung XY aktiv oder inaktiv ist.
3. Das Programm gibt mir an, welche Offsets im String für diese Einstellung infrage kommen
4. Ich wiederhole die Schritte 1 bis 3, bis nur noch ein Offset infrage kommt, und dann weiß ich, wo Einstellung XY gespeichert wird.
Also nochmal ein Beispiel:
Jeweils die unterstrichenen Bits kommen in Frage, die anderen wurden schon ausgeschlossen:
"101001": Einstellung aktiv
"111100": Einstellung aktiv
"110010": Einstellung inaktiv
Nun kommen nur noch Bit 3 und 5 infrage
"000100": Einstellung aktiv
Nun ist klar, dass "Einstellung XY" in Bit 5 gespeichert wird.
Und so ein Programm suche ich - ich gebe jede Menge dieser Strings und den jeweiligen Status von Einstellung XY ein, und sobald das Programm genug Werte hat, gibt es mir aus, an welchem Offset das gespeichert ist.
- Gibt es so ein Programm?
- Wenn nein, kann mir jemand einen Ansatz geben, wie man sowas in C# selber schreiben könnte?
(Hoffentlich hab ich das jetzt gut genug erklärt. Wenn irgendwas noch unklar ist, erkläre ichs gern nochmal [anders])
Leseratte
Edit by ~blaze~:
*Thema aus Offtopic verschoben*
ich suche ein Programm, um Zeichenketten (die nur aus 0 und 1 bestehen) zu vergleichen.
Ich weiß nicht genau, wie ich das erklären soll, daher mal ein kurzes Beispiel:
Nehmen wir mal an, ich hätte ein Programm, welches zum Speichern eines Spielstands nur Booleans benutzt und die als String mit Nullen und Einsen speichert. Dann könnte der gespeicherte String so aussehen:
"1101010100"
Ein anderer String (neuer Spielstand) könnte z. B. so aussehen:
"0110011001"
Ich bekomme nun im Programm angezeigt, "Einstellung XY ist aktiv" oder "Einstellung XY ist inaktiv". (Ob "aktiv" für 1 oder für 0 steht, weiß ich nicht)
Wenn der Spielstand wirklich nur aus 10 Bits bestehen würde, könnte ich leicht von Hand herausfinden, welches Bit für Einstellung XY steht. In Wirklichkeit besteht der aber aus 512 Bits.
Was ich jetzt suche, ist ein Programm, was folgendes tut:
1. Ich füge einen der Spielstand-Strings ein.
2. Ich gebe an, ob in diesem Spielstand Einstellung XY aktiv oder inaktiv ist.
3. Das Programm gibt mir an, welche Offsets im String für diese Einstellung infrage kommen
4. Ich wiederhole die Schritte 1 bis 3, bis nur noch ein Offset infrage kommt, und dann weiß ich, wo Einstellung XY gespeichert wird.
Also nochmal ein Beispiel:
Jeweils die unterstrichenen Bits kommen in Frage, die anderen wurden schon ausgeschlossen:
"101001": Einstellung aktiv
"111100": Einstellung aktiv
"110010": Einstellung inaktiv
Nun kommen nur noch Bit 3 und 5 infrage
"000100": Einstellung aktiv
Nun ist klar, dass "Einstellung XY" in Bit 5 gespeichert wird.
Und so ein Programm suche ich - ich gebe jede Menge dieser Strings und den jeweiligen Status von Einstellung XY ein, und sobald das Programm genug Werte hat, gibt es mir aus, an welchem Offset das gespeichert ist.
- Gibt es so ein Programm?
- Wenn nein, kann mir jemand einen Ansatz geben, wie man sowas in C# selber schreiben könnte?
(Hoffentlich hab ich das jetzt gut genug erklärt. Wenn irgendwas noch unklar ist, erkläre ichs gern nochmal [anders])
Leseratte
Edit by ~blaze~:
*Thema aus Offtopic verschoben*
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „~blaze~“ ()