Forum: Object-Pascal / Delphi-Language
Delphi
by Cöster,
8. Sep 2006
Joa, die Lösung gefällt mir am Besten. Mir war erst nicht klar, was sie der If-Lösung gegenüber für Vorteile hat, deswegen hatte ich sie wohl mehr oder weniger überlesen und mir nachher nicht mehr die Mühe gemacht, zurückzublättern.
Danke!
Forum: Object-Pascal / Delphi-Language
Delphi
by Cöster,
8. Sep 2006
Sondern? Natürlich, ich bekomme nicht - oder +, aber -1 oder +1. Das ist auch alles, was ich will. Ich brauch den Befehl "hänge an a das Vorzeichen von b dran" und dafür schreib ich dann
a := sign(b)*a;
Wie lässt sich das if denn in der Funktion verhindern (ohne Assembler-Code)? Mehr als
result := value/abs(value)
fällt mir nicht ein. Aber das soll ja noch langsamer sein, als ein if.
Wie...
Forum: Object-Pascal / Delphi-Language
Delphi
by Cöster,
8. Sep 2006
Benutze ich nicht auch nur eins?
(if then else)
Forum: Object-Pascal / Delphi-Language
Delphi
by Cöster,
8. Sep 2006
Jetzt weiß ich trotzdem noch nicht, was eine arithmetische Operation ist. Statt wessen krieg ich die?
Forum: Object-Pascal / Delphi-Language
Delphi
by Cöster,
8. Sep 2006
Math ist eingebunden, er kennt Sign trotzdem nicht.
Seit wann läuft div auch mit Reals?
wie gesagt, dazu wird es nie kommen.
Der Code ist sicherlich nicht schlecht, aber (das kannst du nicht wissen) ich kann kein Assembler und ich möchte keinen Code schreiben, den ich nicht verstehe. :wink:
Ich hab mir nach euren Tipps jetzt doch ne Function gebastelt:
Forum: Object-Pascal / Delphi-Language
Delphi
by Cöster,
8. Sep 2006
Dann kann ich's eigentlich auch mit Abs(Value)/Value machen. Ich dachte, da gäb's vielleicht ne fertige Funktion für, aber die selber zu schreiben (sign kennt mein delphi nicht) führt ja nur zu zusätzlichen Codezeilen. Oder hat meine Variante irgendwelche nachteile? (wenn Value 0 ist, wird der Code sowieso nicht aufgerufen, es würde also nicht durch 0 geteilt)
Forum: Object-Pascal / Delphi-Language
Delphi
by Cöster,
8. Sep 2006
@ 3_of_8:
Kann es sein, dass es sign auf delphi 5 noch nicht gibt?
@ Luckie:
Ich brauch nicht ne Funktion, die mir sagt, ob die Zahl positiv ist, sondern eine, die mir das Vorzeichen zurückliefert (also 1 oder -1). Sonst könnte ich ja auch ne If-Abfrage machen.
Forum: Object-Pascal / Delphi-Language
Delphi
by Cöster,
8. Sep 2006
Hi!
Gibt's ne Funktion, der man einen Real übergibt und die dann 1 zurückgibt, wenn die Zahl positiv ist, und -1, wenn sie negativ ist?
Dass man einfach schreiben kann
a := Vorzeichen(b)*5;
Bisher mach ich das so: