Hallo,
Ich habe gerade ein grösses Porblem, da ich eine Aufgabe nicht lösen kann!
Kann einer dabei helfen?
Es geht um eine C Aufgabe!
Danke im Voraus!
Wer kann mir mit einer Aufgabe helfen?
-
- Beiträge: 2
- Registriert: Di Jun 30, 2020 4:54 pm
-
- Beiträge: 2
- Registriert: Di Jun 30, 2020 4:54 pm
Re: Wer kann mir mit einer Aufgabe helfen?
1 Bitfiddling
Da in diesem Semester keine Arduinos und blinkenden Leds
eingesetzt werden können, werden diese einfach simuliert, indem statt der blinkenden
Leds Ausgaben auf der Konsole erfolgen. Die Bitoperationen werden auf die Variable
char leds durchgeführt. Der Zustand der Bits kann mit der folgenden Funktion auf
der Konsole ausgegeben werden:
Gehen Sie bei dieser Aufgabe so vor, dass Sie jede Aufgabe als eigene Funktion
implementieren, die von main() aufgerufen wird.
a. Bit 4 ein- und ausschalten – Funktion auf1a()
Setzen Sie leds zunächst auf 0 und schalten Sie dann das Bit 4 mit den Operationen
Bit-Oder und Bit-Und (| und &) in einer Schleife 5 mal ein und dann wieder aus. Geben
Sie jeweils die Bitfolgen auf der Konsole aus.
b. Bit 3 und Bit 5 ein- und ausschalten – Funktion auf1b()
Setzen Sie leds auf 12910 bzw. 8116 und schalten Sie dann das Bit 3 und das Bit 5 mit
den Bitoperationen | und & in einer Schleife 5 mal ein und dann wieder aus ohne den
Zustand der anderen Bits zu beeinflussen. Geben Sie jeweils die Bitfolgen auf der
Konsole aus.
c. „Lauflicht“ über alle 8 Bits – Funktion auf1c()
Setzen Sie zunächst leds auf 0. Dann laufen Sie in einer Schleife durch leds und
schalten jeweils 1 Bit beginnend mit Bit 0, dann Bit 1 usw. ein und wieder aus. Nutzen Sie
dazu die Shift-Operation und zeigen Sie jeden Schritt auf der Konsole an.
d. Zufallszahlen als Bitmuster – Funktion auf1d()
Generieren Sie in einer Schleife 10 Zufallszahlen im Bereich von 0 bis 255 und stellen
Sie diese als Bitmuster auf der Konsole dar.
e. Zeichen als Bitmuster – Funktion auf1e()
Lesen Sie von der Konsole einen String ein und geben Sie den String Zeichen für
Zeichen als Bitmuster auf der Konsole aus.
Edit by Xin: Codetags hinzugefügt
Da in diesem Semester keine Arduinos und blinkenden Leds
eingesetzt werden können, werden diese einfach simuliert, indem statt der blinkenden
Leds Ausgaben auf der Konsole erfolgen. Die Bitoperationen werden auf die Variable
char leds durchgeführt. Der Zustand der Bits kann mit der folgenden Funktion auf
der Konsole ausgegeben werden:
Code: Alles auswählen
// Zeichen in Bitstring konvertieren
char *showbits(char c)
{
static char s[12]; // enthält die Bitfolge als String
int i, m;
// i - Laufindex im String: 0...7
// m - Bitmaske zur Pruefung des Bits: 7...0
for(i = 0, m = 7; i < 8; i++, m--)
s[i] = c & (1 << m) ? '1' : '0';
s[i] = '\0';
return s;
}
implementieren, die von main() aufgerufen wird.
a. Bit 4 ein- und ausschalten – Funktion auf1a()
Setzen Sie leds zunächst auf 0 und schalten Sie dann das Bit 4 mit den Operationen
Bit-Oder und Bit-Und (| und &) in einer Schleife 5 mal ein und dann wieder aus. Geben
Sie jeweils die Bitfolgen auf der Konsole aus.
b. Bit 3 und Bit 5 ein- und ausschalten – Funktion auf1b()
Setzen Sie leds auf 12910 bzw. 8116 und schalten Sie dann das Bit 3 und das Bit 5 mit
den Bitoperationen | und & in einer Schleife 5 mal ein und dann wieder aus ohne den
Zustand der anderen Bits zu beeinflussen. Geben Sie jeweils die Bitfolgen auf der
Konsole aus.
c. „Lauflicht“ über alle 8 Bits – Funktion auf1c()
Setzen Sie zunächst leds auf 0. Dann laufen Sie in einer Schleife durch leds und
schalten jeweils 1 Bit beginnend mit Bit 0, dann Bit 1 usw. ein und wieder aus. Nutzen Sie
dazu die Shift-Operation und zeigen Sie jeden Schritt auf der Konsole an.
d. Zufallszahlen als Bitmuster – Funktion auf1d()
Generieren Sie in einer Schleife 10 Zufallszahlen im Bereich von 0 bis 255 und stellen
Sie diese als Bitmuster auf der Konsole dar.
e. Zeichen als Bitmuster – Funktion auf1e()
Lesen Sie von der Konsole einen String ein und geben Sie den String Zeichen für
Zeichen als Bitmuster auf der Konsole aus.
Edit by Xin: Codetags hinzugefügt
- Xin
- nur zu Besuch hier
- Beiträge: 8862
- Registriert: Fr Jul 04, 2008 11:10 pm
- Wohnort: /home/xin
- Kontaktdaten:
Re: Wer kann mir mit einer Aufgabe helfen?
Vielleicht, um da ein Missverständnis auszuräumen...
Das Board ist dafür da, dass da Anfragen drin landen, die genau so gestellt sind, wie Du sie gestellt hast: "Macht mal."
Das Board ist nicht dafür da, Deine Arbeit anderen auf's Auge zu drücken....
Um also Deine Frage zu beantworten: Ich denke, ich kann Dir helfen. Hast Du denn weitere Fragen zur Sache? ^^
Das Board ist dafür da, dass da Anfragen drin landen, die genau so gestellt sind, wie Du sie gestellt hast: "Macht mal."
Das Board ist nicht dafür da, Deine Arbeit anderen auf's Auge zu drücken....
Um also Deine Frage zu beantworten: Ich denke, ich kann Dir helfen. Hast Du denn weitere Fragen zur Sache? ^^
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.
Re: Wer kann mir mit einer Aufgabe helfen?
Der Vollständigkeit halber: Ich habe das Thema in dieses Board verschoben.