Huffman - Bitoperationen HILFE

emibo74

Mitglied
Hallo ich habe eine aufgabe für die uni zu erledigen jedoch komme ich mit dem Anfang nicht zurecht wäre super wenn mir jemand helfen könnte.
Sprich mir fehlt nur der Grundstein um anzufangen zu programmieren.

Anfang der Aufgabe:

Die Huffman-Kodierung benötigt sowohl einen zeichenweisen als auch einen bitweisen Zugriff auf Dateien. Hierfür soll in dieser Aufgabe der Grundstein gelegt werden. Sie sollen im wesentlichen zwei Funktionen realisieren, mit denen die Daten aus einem char-Vektor entweder byteweise oder bitweise in einen anderen char-Vektor kopiert werden können. Diese Vektoren werden in einem späteren Übungsblatt mit den Daten aus einer Datei gefüllt bzw. in eine Datei geschrieben.

- Definieren Sie einen Aufzählungstyp BIT für die Repräsentation der beiden Bitzustände 0 und 1.

- Definieren Sie Funktionen

BIT get_bit(unsigned char c, int pos);
unsigned char put_bit(unsigned char c, BIT bit, int pos);

die in einem übergebenen Byte das Bit an der übergebenen Position liefern bzw. das Bit entsprechend dem übergebenen Bit setzen oder löschen. Als Position dürfen Ziffern von 0-7 angegeben werden. Mit der Position 0 ist das höhenwertigste (linke) Bit gemeint, mit 7 das niederwertigste (rechte) Bit. Da Sie die Funktion später nur mit korrekten Werten aufrufen , müssen sie keine Fehlerbehandlung implementieren.

- Definieren Sie zwei globale Vektoren in_buffer und out_buffer über dem Datentyp unsigned char, die einen Eingabe- und einen Ausgabepuffer repräsentieren. Definieren Sie die Größe der Puffer ausreichend, bspw. 4096 (Definieren Sie hierzu eine Konstante und nennen Sie sie BUF_SIZE).

Dann kommen noch Methoden die ich selber schreiben muss wie:
(Müsste die eigentlich selber schaffen)
-bool has_next_char(void)
-unsigned char read_char(void)
-void write_char(unsigned char c)

-bool has_next_bit(void)
....

Vielen dank im voraus
 

blubbrezn

Mitglied
Hallo emibo74,
so wie du es schreibst sieht es danach aus, das Jemand deine Hausaufgaben machen soll.
Versuche wenn du Fragen stellst, das Problem das du hast zu beschreiben nicht die Aufgabenstellung zu kopieren.

Also du schreibst das du mit dem Anfang nicht zurecht kommst:
Erstens welche Programmiersprache eigentlich ?
Besteht dein Problem darin die Grundstruktur für ein C/C++ Programm aufzubauen, dann würde ich dir als erstes ein Hello World Tutorial empfehlen.

Also wenn du genauer beschreibst wo dein Problem liegt kann man dir sicher weiterhelfen.

Viele Grüße
blubbrezn
 

Ähnliche Java Themen

Neue Themen


Oben