PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Benötigt ein extra Minuszeichen einen weiteren Rechenschritt, also extra Rechenzeit?



Catonga
14-05-2003, 22:26
Hallo.

ich habe mal folgende Frage,
wenn ich folgende zwei Rechenoperationen habe:



x= (8-4);

// und

x= -(4-8);


Benötigt dann dieses extra Minuszeichen vor der Klammer in der letzteren Rechenoperation, (das extra nach der Berechnung von 4-8 gesetzt werden muß) zusätzliche Rechenzeit?

Oder anders gefragt, ist die 1. Rechenoperation schneller als die 2.,
weil das Ergebnis ist letzten endes sowiso das gleiche.

Boron
15-05-2003, 07:19
Nein, diese Operation wie du sie geschrieben hast benötigen keinerlei zusätzliche Rechenzeit.

Denn diese Art Ausdrücke werden bereits zur Compilezeit ausgerechnet, da sie ja konstante Ausdrücke darstellen.
Jeder Compiler der das nicht macht sollte verboten werden. Ich kenne aber auch keinen, der auf diese einfache Optimierung verzichtet.

In deinem Fall wird der Compiler also in beiden Fällen X=4 einsetzen und daraus, dann Assemblercode generieren.

peschmae
15-05-2003, 11:14
oder sind das beide variablen, die nicht zur compile-time ausgerechnet werden können?

MfG Peschmä

anda_skoa
15-05-2003, 15:03
Selbst dann ist eine Negation meist noch im selben Zyklus möglich.

Ciao,
_

Catonga
15-05-2003, 15:31
Original geschrieben von Boron
Nein, diese Operation wie du sie geschrieben hast benötigen keinerlei zusätzliche Rechenzeit.

Denn diese Art Ausdrücke werden bereits zur Compilezeit ausgerechnet, da sie ja konstante Ausdrücke darstellen.
Jeder Compiler der das nicht macht sollte verboten werden. Ich kenne aber auch keinen, der auf diese einfache Optimierung verzichtet.

In deinem Fall wird der Compiler also in beiden Fällen X=4 einsetzen und daraus, dann Assemblercode generieren.

Ok, gehen wir davon aus, das die zwei Ausdrücke Variablen sind und verschiedene Werte
während der Programmlaufzeit zugewiesen bekommen.

Wie würde es dann aus sehen?

Im realen Programm sind es nämlich wirklich Variablen.
Das mit den festen Werten habe ich nur aus Gründen der Vereinfachung hergenommen.

peschmae
15-05-2003, 15:36
@anda_skoa: hab ich mir gedacht aber nicht sicher gewusst :D
@catonga: wie wärs mit lesen? anda_skoa hat die Frage schon beantwortet und du stellst sie nochmal tststs

MfG Peschmä