Schreiben von Dateien in Bitform in eine Datei in C

9

Ich implementiere den Huffman-Algorithmus in C. Ich habe die grundlegende Funktionalität bis zu dem Punkt, an dem die binären Codewörter erhalten werden. so wird zum Beispiel abcd 100011000 oder etwas ähnliches sein. Jetzt ist die Frage, wie Sie diesen Code in der komprimierten Datei in Binärform schreiben. Ich meine, wenn ich es normal schreibe, wird jede 1 und 0 ein Zeichen sein, also gibt es keine Komprimierung.

Ich muss diese 1s und 0s in ihrer Bitform schreiben. ist das möglich in C. wenn ja wie?

    
sfactor 06.12.2009, 20:33
quelle

1 Antwort

17

Sammeln Sie Bits, bis Sie genug Bits haben, um ein Byte zu füllen und schreiben Sie es dann ..

z. etwas wie das:

%Vor%

Sobald Sie mit dem Schreiben Ihrer Bits fertig sind, müssen Sie den Bit-Puffer leeren. Schreiben Sie dazu einfach die Bits, bis current_bit gleich Null ist:

%Vor%     
Nils Pipenbrinck 06.12.2009, 20:38
quelle