C-Bootcamp Uebung1 for a quick overview
Find a file
2026-06-08 20:44:32 +02:00
hallo aufgabe1 ohne ein paar punkte 2026-06-08 20:27:18 +02:00
hallo-welt.c aufgabe1 ohne ein paar punkte 2026-06-08 20:27:18 +02:00
hallo-welt.h aufgabe1 ohne ein paar punkte 2026-06-08 20:27:18 +02:00
README.md line 2026-06-08 20:44:32 +02:00

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.