Wlr
Übungsblatt 1 Aufgabe 1
28.04.2013 14:14:34
Hallo

ich habe noch nie C/C++ geschrieben bzw damit gearbeitet.
was bedeutet die folgende Zeile

// Die Belegungen der Eingaenge der Schaltkreise
int a1 = 0xFFFF0000;

was ist 0xFF....???

noch eine Frage zu dem Funktionsaufruf

ich möchte eine Variable Deklarieren die einen Wert aus einer Void Methode bekommt.
Die Variable soll den ,s' Wert aus dem Halbaddierer bekommen. wie macht man das?
int x = HA(a,b).s;
?


Grüße

Wlr



1 mal bearbeitet. Zuletzt am 28.04.2013 18:09 von Wlr.
Re: Übungsblatt 1 Aufgabe 1
28.04.2013 20:34:23
Hallo Wlr,

die Notation 0x... steht für hexadezimal. Die darauffolgende Zeichenkette ist also der hexadezimale Wert, mit dem gerechnet werden soll. Ähnliche Notationen gibt es in praktisch jeder mir bekannten Programmiersprache.

Für die zweite Frage möchte ich einerseits auf das Hilfsmaterial auf der Vorlesungsseite verweisen. Dort gibt es das C/C++-Gerüst, welches auch in der Übung gezeigt wird. Hier ist zwar bei genau der Funktion des Halbaddierers ein kleiner Fehler in der Dokumentation, bei genauem Hinschauen und Vergleichen mit anderen Funktionen, kann man diesen aber erkennen.

Wenn ich nur einen Wert von einer Funktion haben möchte, muss diese ja nicht void als Rückgabetyp haben. An dieser Stelle lässt sich natürlich der gewünsche Rückgabewert einsetzen. Der Halbaddierer gibt aber nicht nur s, sondern auch c zurück, sodass man eigentlich zwei Rückgabewerte hat. C/C++ kennt aber nur Funktionen mit einem Rückgabewert. Man kann sich aber behelfen, indem man beim Funktionsaufruf nicht nur Werte übergibt, sondern auch Referenzen auf Variablen (Zeiger/Pointer). Innerhalb der aufgerufenen Funktion kann man dann mittels der Referenzen die Werte an die aufrufende Funktion zurückgeben und kann dabei beliebig viele Rückgabewerte realisieren. Stichworte hierfür sind call by value und call by reference.

Es gibt im Netz sehr gute Tutorials und Ressourcen zu C/C++. [en.cppreference.com] und wikipedia sind ein schneller Einstieg dabei.

Beste Grüße,
Martin
Wlr
Re: Übungsblatt 1 Aufgabe 1
29.04.2013 16:59:01
ok danke! habs geschafft.