Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

C-Kurs/Base64: Unterschied zwischen den Versionen

(Base64 Kodierer als Aufgabe)
 
(Vorgabe angefügt)
Zeile 1: Zeile 1:
Schreibe eine Base64 Kodierer. Er soll einen fest im Programm vorgegebenen String nach Base64 kodieren. Um zu erfahren wie Base 64 funktioniert kannst du dir die Wikipedia Seite zu [http://de.wikipedia.org/wiki/Base64 Base64] ansehen. Du kannst die [Vorgabe] benutzen. In dieser müssen nur die 4 Funktionen encode_*_output() geschrieben werden. Falls du Lust hast, kannst du dir selbst überlegen wie du ein solches Programm schreiben würdest. Allerdings haben wir strings noch nicht ausführlich behandelt. Frage deinen Tutor falls dir etwas unklar ist.
+
Schreibe eine Base64 Kodierer. Er soll einen fest im Programm vorgegebenen String nach Base64 kodieren. Um zu erfahren wie Base 64 funktioniert kannst du dir die Wikipedia Seite zu [http://de.wikipedia.org/wiki/Base64 Base64] ansehen. Du kannst die [http://docs.freitagsrunde.org/Veranstaltungen/ckurs_2009/vorgaben/base64.c Vorgabe] benutzen. In dieser müssen nur die 4 Funktionen encode_*_output() geschrieben werden. Ersetze jeweils das return 0. Falls du Lust hast, kannst du dir selbst überlegen wie du ein solches Programm schreiben würdest. Allerdings haben wir strings noch nicht behandelt. Frage deinen Tutor falls dir etwas unklar ist.
  
 
Die Funktion encode_first_output soll aus Byte1 Zeichen1 brechnen:
 
Die Funktion encode_first_output soll aus Byte1 Zeichen1 brechnen:

Version vom 20. September 2009, 12:57 Uhr

Schreibe eine Base64 Kodierer. Er soll einen fest im Programm vorgegebenen String nach Base64 kodieren. Um zu erfahren wie Base 64 funktioniert kannst du dir die Wikipedia Seite zu Base64 ansehen. Du kannst die Vorgabe benutzen. In dieser müssen nur die 4 Funktionen encode_*_output() geschrieben werden. Ersetze jeweils das return 0. Falls du Lust hast, kannst du dir selbst überlegen wie du ein solches Programm schreiben würdest. Allerdings haben wir strings noch nicht behandelt. Frage deinen Tutor falls dir etwas unklar ist.

Die Funktion encode_first_output soll aus Byte1 Zeichen1 brechnen:

     Byte1      |      Byte2      |     Byte3
7 6 5 4 3 2 1 0 | 7 6 5 4 3 2 1 0 | 7 6 5 4 3 2 1 0

5 4 3 2 1 0|5 4   3 2 1 0|5 4 3 2   1 0|5 4 3 2 1 0 
  Zeichen1 |   Zeichen2  |   Zeichen3  |  Zeichen4

das bedeutet, dass in Zeichen1 die 6 höchsten Bits von Byte1 enthält.

Beispiel:

Byte1: 0100 0011
Byte2: 1001 0101
Byte3: 0010 0001
Zeichen1: 010000 
Zeichen2: 111001
Zeichen3: 010100
Zeichen4: 100001

Du brauchst bitweiße logische Verknüpfungen und Verschiebeoperatoren um zum Ziel zu kommen.