Add assignments
This commit is contained in:
parent
aaef71d8e4
commit
ffdaf12535
11
01/binaerUmrechnung.c
Normal file
11
01/binaerUmrechnung.c
Normal 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
23
01/binaerZahl.c
Normal 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
33
01/bit_shift_operatoren.c
Normal 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
4
01/bmi.c
Normal 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
18
01/division.c
Normal 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;
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user