Add assignments

This commit is contained in:
paulusja 2026-03-26 12:35:01 +01:00
parent aaef71d8e4
commit ffdaf12535
5 changed files with 89 additions and 0 deletions

11
01/binaerUmrechnung.c Normal file
View File

@ -0,0 +1,11 @@
/***********************************************************************************
* Aufgabe *
* Schreiben Sie ein Programm, das eine ganze Zahl einliest und die Rechenschritte *
* anzeigt, um die letzten vier Bits der entsprechenden Binaerzahl zu ermitteln. *
* *
* Ausgabebeispiel mit 21: *
* 21 / 2 = 10, Rest: 1 *
* 10 / 2 = 5, Rest: 0 *
* 5 / 2 = 2, Rest: 1 *
* 2 / 2 = 1, Rest: 0 *
***********************************************************************************/

23
01/binaerZahl.c Normal file
View File

@ -0,0 +1,23 @@
#include <stdio.h>
int main()
{
// Hinweis: bit4 ist das hoechstwertige Bit, bit1 das niederwertigste Bit
unsigned int bit4 = 1;
unsigned int bit3 = 0;
unsigned int bit2 = 1;
unsigned int bit1 = 0;
unsigned int zahl = 0;
// Todo: a) Benutzen Sie nur Shift- und Bit-Operatoren, um die obige Binaerzahl in der Variable zahl zu speichern.
// b) Kommentieren Sie Teilaufgabe a) aus und nutzen Sie nun nur logische und arithmetische Operatoren sowie
// Bitoperatoren, um die obige Binaerzahl in der Variable zahl zu speichern.
// Geben Sie am Ende jeder Teilaufgabe die entsprechenden Bits der Variable zahl aus.
printf("Zielwert: %u%u%u%u\n", bit4, bit3, bit2, bit1);
// Ausgabe der Variable zahl
return 0;
}

33
01/bit_shift_operatoren.c Normal file
View File

@ -0,0 +1,33 @@
#include <stdio.h>
int main()
{
int wert = -5;
unsigned int istZwischen0und255 = 0;
unsigned int istGerade = 0;
int malMinusEins = 0;
int malAcht = 0;
// Todo: Pruefen Sie nur mit Bitoperatoren und dem !-Operator, ob in der Variable wert ein Wert im Interval [0; 255] gespeichert ist.
istZwischen0und255 = 0; // Hier Ausdruck anstelle von 0 einfuegen.
printf("Liegt die Variable wert im Intervall [0; 255]? %u\n", istZwischen0und255);
// Todo: Pruefen Sie nur mit Bitoperatoren, ob in der Variable wert ein gerader Wert gespeichert ist.
istGerade = 0; // Hier Ausdruck anstelle von 0 einfuegen.
printf("Ist der Wert der Variablen wert gerade? %u\n", istGerade!=0);
// Todo: Rechnen Sie den in der Variablen wert gespeicherten Wert mal -1 und verwenden Sie dabei nur Bitoperatoren und den +-Operator.
malMinusEins = 0; // Hier Ausdruck anstelle von 0 einfuegen.
printf("%d * -1 = %d\n", wert, malMinusEins);
// Todo: Rechnen Sie den in der Variablen wert gespeicherten Wert mal 8 und verwenden Sie dabei keine arithmetischen Operatoren.
malAcht = 0; // Hier Ausdruck anstelle von 0 einfuegen.
printf("%d * 8 = %d\n", wert, malAcht);
return 0;
}

4
01/bmi.c Normal file
View File

@ -0,0 +1,4 @@
/*************************************************************************************************
* Schreiben Sie ein Programm, das das Gewicht in kg und die Groesse in cm einliest und dann den *
* Body Mass Index mit zwei Nachkommastellen ausgibt (bmi = gewicht / (groesse in m)²). *
*************************************************************************************************/

18
01/division.c Normal file
View File

@ -0,0 +1,18 @@
/********************************************************************************
* Aufgabe *
* Welche Ausgabe liefert folgendes Programm? Erst ueberlegen, dann ausfuehren! *
********************************************************************************/
#include <stdio.h>
int main()
{
int zahl1 = 1, zahl2 = 2;
double erg;
erg = zahl1 / zahl2;
printf("%d / %d = %lf", zahl1, zahl2, erg);
return 0;
}