Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by bit4bit,
31. Mai 2011
Sorry, da hatte ich einen Flüchtigkeitsfehler drin. :oops:
PROCEDURE Test1;
var Wert2 : Integer;
begin
Wert2 := Integer((Int64(1) shl 32) div Wert); { <<<------ war falsch }
Ergebnis := Integer(((A*x + B*Y + C*Z) * Wert2) shr 32);
Ergebnis2 := Integer(((A*x2 + B*Y2 + C*Z2) * Wert2) shr 32);
Ergebnis3 := Integer(((A*x3 + B*Y3 + C*Z3) * Wert2) shr 32);
end;
Forum: Algorithmen, Datenstrukturen und Klassendesign
Delphi
by bit4bit,
29. Mai 2011
@Memnarch
Versuch doch mal folgende Idee (nicht getestet) :
PROCEDURE Test1;
var Wert2 : Integer;
begin
Wert2 := Integer((2 shl 32) div Wert);
Ergebnis := Integer(((A*x + B*Y + C*Z) * Wert2) shr 32);
Ergebnis2 := Integer(((A*x2 + B*Y2 + C*Z2) * Wert2) shr 32);