Welcome! » Log In » Create A New Profile

Qualität des Codes

Posted by PkK 
PkK
Qualität des Codes
May 03, 2005 08:51AM
Auch wenn es hier um Rechnerarchitektur geht und nicht um Programmierung finde ich, daß der Code korrekt sein sollte.
Daß Eure main() void zurückgibt, was schon lange nicht mehr erlaubt ist geht ja noch,
aber daß in der Übung etwas von 32 gleichzeitigen Simulationen steht und int-Variablen verwendet werden ist einfach nur falsch. Die Mindestbitzahl für int-Variablen ist nur 16 Bit (und auf meinem Z80 ist ein int auch nicht größer). Verwendet doch wenigstens da uint32_t aus inttypes.h, was mit C99 eingeführt wurde.
Benjamin
Re: Qualität des Codes
May 03, 2005 09:44PM
<erbsenzähl>Falsch nicht unbedingt, es kommt nur drauf an, ob man nun striktes C99 oder was anderes schreiben will.</erbsenzähl>

Was anderes dürfte int sein. Davon auszugehen, daß int immer und überall 32-bit breit ist, dürfte recht schnell in die Hose gehen - zumindest wenn ich die ganze Problematik einigermaßen richtig verstanden haben sollte.

Benjamin.
Re: Qualität des Codes
May 04, 2005 01:35AM
Hi

Ziel der Aufgabe ist es, die Streamline-Code-Simulation an einem _einfachen_ Beispiel zu demonstrieren, und zwar so, daß auch Studenten, die noch keinerlei Umgang mit C/C++ hatten, eine gute Chance haben, die Aufgabe zu lösen.

In der Vorlesung wurde angenommen, daß ints 32-bittig sind, genauso nehmen wir das auch in der Übung an - und auf den allermeisten Maschinen, die ihr benutzt (Suns, Linux-Rechner) geht das auch ohne weiteres (Philipp, Du mit Deiner Z80 bist ein Ausnahmefall).

Im Übrigen: Noch besser als uint32_t wäre bitset (beliebige Bitbreiten) aus der Standard Library gewesen... wenn das Argument der Einfachheit nicht klar für int spräche.

Grüße
Tobias Nopper



Edited 1 time(s). Last edit at 05/04/2005 01:37AM by nopper.
Pablo
Re: Qualität des Codes
May 06, 2005 12:28PM
Quote

Auch wenn es hier um Rechnerarchitektur geht und nicht um Programmierung finde ich, daß der Code korrekt sein sollte.
Daß Eure main() void zurückgibt, was schon lange nicht mehr erlaubt ist geht ja noch,
aber daß in der Übung etwas von 32 gleichzeitigen Simulationen steht und int-Variablen verwendet werden ist einfach nur falsch. Die Mindestbitzahl für int-Variablen ist nur 16 Bit (und auf meinem Z80 ist ein int auch nicht größer). Verwendet doch wenigstens da uint32_t aus inttypes.h, was mit C99 eingeführt wurde.

Nun ja, nach C99 war diese Funktion bereits int main, weil Funktionen ohne Datentyp als int deklariert werden. Am Anfang habe ich mich auch aufgeregt, dass es nicht ANSI C war, vor allem, weil das C++ ist, aber das ist uninteressant, weil es viele Leute gibt, die diese Sprachen nicht kennen und wegen nur einer Aufgabe diese Sprachen nicht in die Vollständigkeit lernen müssen. Und das heutige PCs keine 32 Bit für int haben, ist nicht mehr wahr, inzwischen gibt es welche mit 64 Bits. Immerhin kannst du ins Pool gehen und dort das Programm schreiben. Oder baust du dir mit einem struct deinen eigenen 32 Bit int mit
struct int32
{
int high;
int low;
}
dürfte auch kein Problem sein, oder?
Sorry, you do not have permission to post/reply in this forum.