From 17e7f01fdf3f2148ed9f465c34b9f6e24c333d39 Mon Sep 17 00:00:00 2001 From: f0tt3r Date: Mon, 8 Jun 2026 20:43:30 +0200 Subject: [PATCH] Readme --- README.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) create mode 100644 README.md diff --git a/README.md b/README.md new file mode 100644 index 0000000..c3046f9 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# c-01-bits + +**Wichtig: Nur die Musterlösungen anzuschauen hat nicht +ansatzweise den gleichen Lerneffekt wie vorheriges Bearbeiten der Aufgaben.** + +## Aufgabe 0: Intro (Übersetzen von C-Programmen) + +### 0a) + +Erstelle eine eigene Hallo-Welt.c Datei und kompiliere diese. + +### 0b) + +Anschließend soll ein `#define` benutzt werden, um ein Makro für die "Hallo-Welt" Expression zu erstellen. Diese Makro soll dann in einer extra Funktion genutzt werden, welche in der main-Funktion aufgerufen wird. Nutze zur Definition dieser neuen Funktion und des Makros eine eigene Header Datei (mit ifndef). + +## Aufgabe 1: Variablen, Flow Control, Bitwise Shift (Programmfluss) + +### 1a) + +Schreibe die Funktion binaerzahl in der .c-Datei, welche eine Zahl zwischen +0 und 255 als Binärzahl ausgibt. Hierfür sollte der Bitwise Shift (<>) und +wenn nötig die Bitwise Operatoren (&,|,^,~) verwendet werden. Außerdem +sollen mindestens zwei verschiedene Datentyp aus stdint genutzt werden. +Ob für die Definition ein Funktionsprototyp oder +eine eigene Header Datei genutzt wird, ist hierbei egal. + +### 1b) + +Was passiert, wenn die Zahl größer als 255 ist? + +Passe die Funktion so an, dass auch größere Zahlen (0 bis 232-1) als Binärzahlen ausgegeben werden können. + +## Aufgabe 2: Bitwise Operatoren + +Was passiert, wenn die Zahl negativ ist? + +Erweitere die Funktion erneut, sodass auch negative Zahlen bearbeitet werden. Hierbei soll bei der Ausgabe erst ein Minus stehen und dahinter die positive Binärzahl. Beispiel: + +Bitte gib eine Dezimalzahl ein: -3 +-00000011 + +_Hinweis: Die negativen Zahlen werden im Zweierkomplement gespeichert. Es kann also hilfreich sein, eine Hilfsfunktion zu schreiben, welche das Zweierkomplement von Zahlen bestimmt._ + +_Zur Erinnerung:_ + +_Das Zweierkomplement wird gebildet, indem die Bits invertiert werden und anschließend 1 zur Zahl addiert wird._