Der Martin: Logisch grübeln: Information Codieren

Beitrag lesen

Hi monty,

Bildlich:
Ich habe 1200 durchnummerierte Eimer, welche entweder voll oder leer sind.
Ich muss nun für bis zu 600 Eimer angeben welche voll sind.
Und das eben mit diesem Code.
Aber es gibt nur Zwei Zustände: Voll/Leer, oder 0/1 oder true/false oder wie auch immer man es nennen will.(boolean eben)

okay, das macht mir die Sache schon viel klarer!
Also bräuchtest du z.B. eine Sequenz von 1200 Bits, und jedem Eimer ist ein Bit zugeordnet. Da ein Symbol in deiner Codierung (0..9,A..Z) einen Informationsgehalt von rund 5 Bit hat, brauchst du demnach etwas weniger als 1200/5 = 240 Symbole.
Um der einfacheren Codierung willen würde ich übrigens nicht 36 Zustände pro Symbol codieren, sondern nur 32, also (0..9, A..V). Dann hast du exakt 5 Bit pro Symbol, das lässt sich auch leicht programmieren. Und du brauchst für die 1200 Bits insgesamt nur 8 Symbole mehr.

Ich bin nur auf ein System gekommen, mit dem ich in 120 Stellen beliebig viele Zahlen bis 600 Speichern kann.

Ja, aber du brauchst nicht 600, sondern 1200, weil du die Zuordnung noch speichern musst, oder?

Ich meine damit, dass ich einen 120 stelligen Code hinschreiben kann, und darin für 600 Eimer der Füllzustand (voll/leer) steht.

Ja, für 600 Eimer - aber welche 600 von den insgesamt 1200 sind das?

Aber das ist noch zu viel Code.

Die 1200 Bits sind die kompakteste mögliche Darstellung - weniger geht nicht, wenn du bei binär arbeitenden Systemen bleibst. Sonst gehen dir irgendwelche Informationen flöten (wobei du ja auch schon vereinfacht hast, denn zwischen "voll" und "leer" gibt es ja beliebig viele Zwischenstufen).
Du könntest höchstens eine andere Bit/symbol-Codierung wählen. Mit base64 hast du z.B. schon 6 Bits pro Symbol, also 200 statt 240 Symbole.

So long,

Martin