Ich arbeite gerade an einem Dateikompressor basierend auf Huffman-Decodierung. Also ich habe einen Baum Decodierung wie folgt:Wie manipuliert man Bits in Smalltalk?
und ich habe diesen Baum auf eine Ausgabedatei codieren, indem eine bestimmte Kriterien folgende:
„für jedes Blatt, schreiben ein 0-Bit, gefolgt von den 8 Bits von das entsprechende Zeichen.Schreibe die Bits in der Reihenfolge Bit 7, Bit 6, ..., Bit 0, das ist High-Bit zuerst.Als Sonderfall, wenn das Byte 0 ist, schreibe auf Bit 8, das eine 0 für einen Byte-Wert von 0 und 1 für einen Byte-Wert von 256 (der EOF-Markierung) sein wird. Schreiben Sie für einen internen Knoten einfach ein Bit 1.
Also was ich vorhabe ist, ein Bit-Array zu erstellen und fügen Sie die entsprechenden Bits im angegebenen Format hinzu. Das Problem ist, dass ich nicht weiß, wie man eine Zahl in Smalltalk in binary umwandelt.
Zum Beispiel, wenn ich das erste Blatt verschlüsseln möchte, würde ich etwas wie 01101011, d. H. 0 gefolgt von der Bit-Darstellung von k tun und dann jedes Bit einzeln in das Array einfügen.
Und es ist wahrscheinlich klug, BitStream auch zu implementieren, wenn nicht im Dialekt verfügbar. Ist es nicht? –
Ja, ein BitStream wird besonders für die Kodierung/Dekodierung nützlich sein –