Bit Dezimal Umwandeln



  • Hallo, ich habe folgendes Problem:

    Ich möchte aus einer Liste mit 30 Zahlen (von 1 - 30) diese in Bit umgerechnet haben. Jedoch kann der Benutzer auswählen, welche der Zahlen aus dieser Liste genommen werden kann, wodurch 30^2 Möglichkeiten enstehen.
    Wie stellt man dieses am einfachsten dar, da für die Kombinationsmöglichkeiten nur eine 4 Stellige Zahl zur Verfügung steht.

    Ausgewählt wird z.B. 3, 5, 8, 25, 29 oder 1, 10, 14, 24, 30 oder 1, 9

    Liste aus 30 Zahlen => umwandeln in eine 4stellige Zahl => herausfinden welche Zahl aus der Liste genommen wurde.

    Wie würdet ihr dabei vorgehen?



  • Meist Du nicht eher 2^30 statt 30^2?
    Wenn ja, reichen 4 Stellen gar nicht aus.


  • Mod

    Gibt es irgendwelche Beschränkungen, wie viele Zahlen ausgewählt werden dürfen? Ansonsten bräuchtest du eine 30 Bit Binärzahl, was gut 10 Dezimalstellen entspricht.



  • Mein Problem liegt zur Zeit darin, das ich keinen Ansatzpunkt habe, an dem ich weitermachen kann. Ich möchte mit der 4stelligen Zahl so viele Kombinationsmöglichkeiten wie möglich nachbilden. Man hatte mir da nur den Tipp gegeben, dies über die Bitumwandlung zu realisieren.


  • Mod

    Du weist jeder Zahl ein Bit zu. Ist die Zahl in der Menge enthalten setzt du das Bit auf eins, ansonsten auf 0. Die so entstandene Binärzahl kannst du dann umrechnen wie du willst.



  • Dann habe ich 2 Tabellen
    eine mit Dezimalzahl zu Bit und eine Bit zu Dezimal.
    Nur wie entnehme ich dann die einzelnen Zahlen aus der Liste, die man vorher ausgewählt hat.
    Also die Zahlen 1, 10, 24, 30 sollen in eine 4 stellige Zahl zusammengefasst werden. Und man muss anschließend von der 4 stellige Zahl auf 1, 10, 24, 30 kommen.
    Durch das Umrechnen in Bit bekomme ich eine absolute Verbindung, mit der ich jede Kombination nachbilden kann. Nur das Problem ist, das ich nicht genau weis wie man diese Verbindung darstellen kann um auf die einzelnen Zahlen aus der Liste zu kommen.



  • fastvampire schrieb:

    Dann habe ich 2 Tabellen
    eine mit Dezimalzahl zu Bit und eine Bit zu Dezimal.
    Nur wie entnehme ich dann die einzelnen Zahlen aus der Liste, die man vorher ausgewählt hat.
    Also die Zahlen 1, 10, 24, 30 sollen in eine 4 stellige Zahl zusammengefasst werden. Und man muss anschließend von der 4 stellige Zahl auf 1, 10, 24, 30 kommen.
    Durch das Umrechnen in Bit bekomme ich eine absolute Verbindung, mit der ich jede Kombination nachbilden kann. Nur das Problem ist, das ich nicht genau weis wie man diese Verbindung darstellen kann um auf die einzelnen Zahlen aus der Liste zu kommen.

    zehnstellig und nicht vierstellig. 2^31 > 30^2
    für "binärzahl" und so mag ich dich auf google verweisen.


Anmelden zum Antworten