Variablen kleiner als 1 Byte?
Verfasst: Fr Sep 16, 2011 9:57 pm
Hallo,
ich möchte aus einer Datei lesen und das ganze im RAM als Byte-Array speichern.
Nun kommt es mir aber eigentlich gar nicht auf die Bytes, sondern auf die Bits an.
Mich interessieren immer 4 bis 7 Bits, die für mich dann eine Zahl darstellen.
An und für sich, kann man mittels Bitmanipulation natürlich auch dies aus dem Bytearray auslesen.
Bei meinem Sachverhalt geht es allerdigs um Rechenzeit und Speicherkapazität, sodass es am besten wäre, ich hätte wirklich nur ein Bit-Array aus dem ich dann immer soviele Bytes auslese, wie ich gerade brauche.
Wie kann ich das Anstellen?
Gibt es soetwas wie ein Bit-Array?
Oder kann ich einfach ein Datentyp definieren, der z.B. nur 4 Bits belegt?
Hintergrund: Es geht um ein Komprimierungsprogramm. Wenn da z.B. die Zahlen 200 201 stehen, wird daraus 200 ++. Die Plus-Plus Anweisung muss also kleiner als 1 Byte sein, damit es sich überhaupt lohnt. Denn die 201 war ja selbst schon 1 Byte groß und es macht ja nur sinn diese zu ersetzen, wenn es dadurch kleiner wird.
Aber ich möchte gar nicht über das Programm reden, ob es sinnvoll ist oder nicht sondern einzig und allein über das Problem mit den Bits.
ich möchte aus einer Datei lesen und das ganze im RAM als Byte-Array speichern.
Nun kommt es mir aber eigentlich gar nicht auf die Bytes, sondern auf die Bits an.
Mich interessieren immer 4 bis 7 Bits, die für mich dann eine Zahl darstellen.
An und für sich, kann man mittels Bitmanipulation natürlich auch dies aus dem Bytearray auslesen.
Bei meinem Sachverhalt geht es allerdigs um Rechenzeit und Speicherkapazität, sodass es am besten wäre, ich hätte wirklich nur ein Bit-Array aus dem ich dann immer soviele Bytes auslese, wie ich gerade brauche.
Wie kann ich das Anstellen?
Gibt es soetwas wie ein Bit-Array?
Oder kann ich einfach ein Datentyp definieren, der z.B. nur 4 Bits belegt?
Hintergrund: Es geht um ein Komprimierungsprogramm. Wenn da z.B. die Zahlen 200 201 stehen, wird daraus 200 ++. Die Plus-Plus Anweisung muss also kleiner als 1 Byte sein, damit es sich überhaupt lohnt. Denn die 201 war ja selbst schon 1 Byte groß und es macht ja nur sinn diese zu ersetzen, wenn es dadurch kleiner wird.
Aber ich möchte gar nicht über das Programm reden, ob es sinnvoll ist oder nicht sondern einzig und allein über das Problem mit den Bits.